OpenSearch/plugins
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
..
analysis-icu Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
analysis-kuromoji Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
analysis-phonetic Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
analysis-smartcn Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
analysis-stempel Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
discovery-azure-classic Introduce Log4j 2 2016-08-30 13:31:24 -04:00
discovery-ec2 Configure AWS SDK logging configuration 2016-09-03 06:41:07 -04:00
discovery-file File-based discovery plugin integration tests (#20492) 2016-09-21 15:48:18 -04:00
discovery-gce Avoid allocating log parameterized messages 2016-08-30 18:17:09 -04:00
ingest-attachment Adds content-length as number 2016-08-10 18:31:16 +02:00
ingest-geoip test: add a test with ipv6 address 2016-09-28 10:04:20 +02:00
ingest-user-agent Rename client yaml test infrastructure 2016-07-26 13:53:44 -04:00
jvm-example Remove lenient URL parameter parsing 2016-10-04 12:45:29 -04:00
lang-javascript Reduce the number of threads and scripts being used in multi-threaded 2016-09-02 11:56:44 -07:00
lang-python Made deprecation of Groovy, Javascript, and Python more explicit. 2016-08-31 15:56:31 -07:00
mapper-murmur3 Remove AnalysisService and reduce it to a simple name to analyzer mapping (#20627) 2016-09-23 08:53:50 +02:00
mapper-size Fixed naming inconsistency for fields/stored_fields in the APIs (#20166) 2016-09-13 20:54:41 +02:00
repository-azure [Docs] Log snapshot shard failures in AzureSnapshotRestoreServiceIntegTests 2016-10-03 15:04:37 +02:00
repository-gcs Remove ESIntegTestCase#pluginList 2016-08-11 15:44:02 -04:00
repository-hdfs Introduce Log4j 2 2016-08-30 13:31:24 -04:00
repository-s3 Remove duplicate methods in ByteSizeValue (#20560) 2016-09-20 14:07:23 +02:00
store-smb Remove ESIntegTestCase#pluginList 2016-08-11 15:44:02 -04:00
build.gradle Build: Remove old maven deploy support (#20403) 2016-09-19 15:10:41 -07:00