OpenSearch/modules
Ioannis Kakavas 99aedc844d
Copy http headers to ThreadContext strictly (#45945) (#48675)
Previous behavior while copying HTTP headers to the ThreadContext,
would allow multiple HTTP headers with the same name, handling only
the first occurrence and disregarding the rest of the values. This
can be confusing when dealing with multiple Headers as it is not
obvious which value is read and which ones are silently dropped.

According to RFC-7230, a client must not send multiple header fields
with the same field name in a HTTP message, unless the entire field
value for this header is defined as a comma separated list or this
specific header is a well-known exception.

This commits changes the behavior in order to be more compliant to
the aforementioned RFC by requiring the classes that implement
ActionPlugin to declare if a header can be multi-valued or not when
registering this header to be copied over to the ThreadContext in
ActionPlugin#getRestHeaders.
If the header is allowed to be multivalued, then all such headers
are read from the HTTP request and their values get concatenated in
a comma-separated string.
If the header is not allowed to be multivalued, and the HTTP
request contains multiple such Headers with different values, the
request is rejected with a 400 status.
2019-10-31 23:05:12 +02:00
..
aggs-matrix-stats Replace the SearchContext with QueryShardContext when building aggregator factories (#46527) 2019-09-11 16:43:30 +02:00
analysis-common Improve resiliency to auto-formatting in libs, modules (#48619) 2019-10-29 10:39:34 +00:00
ingest-common Add option to split processor for preserving trailing empty fields (#48685) 2019-10-30 08:25:03 -05:00
ingest-geoip Fix GeoIpProcessorFactoryTests on windows (#45668) 2019-08-28 18:02:25 -04:00
ingest-user-agent update ingest-user-agent regexes.yml (#47807) 2019-10-18 16:26:48 +02:00
lang-expression upgrade to Lucene-8.3.0-snapshot-25968e3b75e (#48227) 2019-10-21 08:21:09 +02:00
lang-mustache Update mustache dependency to 0.9.6 (#46243) 2019-09-09 13:42:03 +02:00
lang-painless Change Painless regex node to use SField instead of Globals (#47944) 2019-10-15 07:47:16 -07:00
mapper-extras Add client jar for mapper-extras (#47430) 2019-10-03 01:23:45 +02:00
parent-join Revert #46598 that breaks the cachability of the sub search contexts. 2019-10-15 09:40:59 +02:00
percolator Remove the SearchContext from the highlighter context (#47733) 2019-10-10 10:34:10 +02:00
rank-eval Support `search_type` in Rank Evaluation API (#48542) (#48631) 2019-10-29 14:54:33 +01:00
reindex Copy http headers to ThreadContext strictly (#45945) (#48675) 2019-10-31 23:05:12 +02:00
repository-url Repository plugin test cacheability fixes (#46572) 2019-09-11 08:24:55 -07:00
systemd Mark fields in SystemdPluginTests as final 2019-07-24 17:16:50 +09:00
transport-netty4 Add Sysprop to Adjust IO Buffer Size (#48267) (#48667) 2019-10-30 14:19:54 +11:00
build.gradle Convert RunTask to use testclusers, remove ClusterFormationTasks (#47572) 2019-10-08 14:43:29 +03:00