netcdf-c/libsrc
Dennis Heimbigner 793ecc8e60 Yet another fix for DAP2 double URL encoding.
re:  https://github.com/Unidata/netcdf-c/issues/1876
and: https://github.com/Unidata/netcdf-c/pull/1835
and: https://github.com/Unidata/netcdf4-python/issues/1041

The change in PR 1835 was correct with respect to using %20 instead of '+'
for encoding blanks. However, it was a mistake to assume everything was
unencoded and then to do encoding ourselves. The problem is that
different servers do different things, with Columbia being an outlier.

So, I have added a set of client controls that can at least give
the caller some control over this. The caller can append
the following fragment to his URL to control what gets encoded before
sending it to the server. The syntax is as follows:
````
https://<host>/<path>/<query>#encode=path|query|all|none
````

The possible values:
* path  -- URL encode (i.e. %xx encode) as needed in the path part of the URL.
* query -- URL encode as needed in the query part of the URL.
* all   -- equivalent to ````#encode=path,query````.
* none  -- do not url encode any part of the URL sent to the server; not strictly necessary, so mostly for completeness.

Note that if "encode=" is used, then before it is processed, all encoding
is turned of so that ````#encode=path```` will only encode the path
and not the query.

The default is ````#encode=query````, so the path is left untouched,
but the query is always encoded.

Internally, this required changes to pass the encode flags down into
the OC2 library.

Misc. Unrelated Changes:
* Shut up those irritating warning from putget.m4
2020-11-05 11:04:56 -07:00
..
attr.m4 Separate out the --ansi comment fixes. 2018-12-12 13:23:09 -07:00
CMakeLists.txt Revert "Revert "Fix nczarr-experimental: improve build support, disengage hdf5 vs netcdf4 flags, and find AWS libraries"" 2020-08-17 19:15:47 -06:00
depend
dim.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
ffio.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
httpio.c This PR adds EXPERIMENTAL support for accessing data in the 2020-06-28 18:02:47 -06:00
lookup3.c Follow-up trivial typos 2018-04-26 23:04:01 -04:00
Makefile.am Master merge, conflict resolution, cleanup 2019-02-24 16:54:13 -07:00
memio.c Prepare for the path management code 2020-10-13 19:12:15 -06:00
mmapio.c Prepare for the path management code 2020-10-13 19:12:15 -06:00
nc3dispatch.c Mostly revert the filter code to reduce its complexity of use. 2020-09-27 12:43:46 -06:00
nc3internal.c windows: detect Windows using the correct define name 2019-11-07 07:55:47 -05:00
ncFile.c windows: detect Windows using the correct define name 2019-11-07 07:55:47 -05:00
ncio.c Master merge, conflict resolution, cleanup 2019-02-24 16:54:13 -07:00
ncio.h Provide byte-range reading of remote datasets 2019-01-01 18:27:36 -07:00
ncstdio.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
ncstdio.h More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
ncx_cray.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
ncx.h More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
ncx.m4 re: github issues 2018-10-30 20:48:12 -06:00
posixio.c Spelling fixes 2019-09-18 08:03:01 -06:00
pstdint.h windows: detect Windows using the correct define name 2019-11-07 07:55:47 -05:00
putget.m4 Yet another fix for DAP2 double URL encoding. 2020-11-05 11:04:56 -07:00
t_ncio.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
t_ncio.in
t_ncxx.m4 More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
test_nc.sav
v1hpg.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
var.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
winceio.c More synchronization of copyright stanzas. 2018-12-06 14:34:40 -07:00
XGetopt.c Fix undefined references when using Visual Studio 2020-05-18 19:36:28 -06:00