OpenSearch/client
Jason Tedor 51d53791fe Remove lenient URL parameter parsing
Today when parsing a request, Elasticsearch silently ignores incorrect
(including parameters with typos) or unused parameters. This is bad as
it leads to requests having unintended behavior (e.g., if a user hits
the _analyze API and misspell the "tokenizer" then Elasticsearch will
just use the standard analyzer, completely against intentions).

This commit removes lenient URL parameter parsing. The strategy is
simple: when a request is handled and a parameter is touched, we mark it
as such. Before the request is actually executed, we check to ensure
that all parameters have been consumed. If there are remaining
parameters yet to be consumed, we fail the request with a list of the
unconsumed parameters. An exception has to be made for parameters that
format the response (as opposed to controlling the request); for this
case, handlers are able to provide a list of parameters that should be
excluded from tripping the unconsumed parameters check because those
parameters will be used in formatting the response.

Additionally, some inconsistencies between the parameters in the code
and in the docs are corrected.

Relates #20722
2016-10-04 12:45:29 -04:00
..
benchmark Update client benchmarks to log4j2 2016-09-23 15:39:18 +02:00
client-benchmark-noop-api-plugin Remove lenient URL parameter parsing 2016-10-04 12:45:29 -04:00
rest Allow RestClient to send array-based headers 2016-08-30 18:02:07 -04:00
sniffer Un-final Core REST Client classes 2016-08-25 16:02:04 -04:00
test Build: Remove old maven deploy support (#20403) 2016-09-19 15:10:41 -07:00
transport Skip transport client plugin installed on JDK 9 2016-08-31 09:46:27 -04:00