OpenSearch/qa
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
..
ccs-unavailable-clusters Testclusters: Convert additional projects (#43625) 2019-06-28 16:44:42 +03:00
die-with-dignity Remove Settings from BaseRestRequest Constructor (#45418) (#45429) 2019-08-12 05:14:45 +02:00
evil-tests Add a deprecation warning regarding allocation awareness in search request (#48351) 2019-10-24 09:25:50 +02:00
full-cluster-restart Backport testclusters all (#47565) 2019-10-04 16:12:53 +03:00
logging-config Deprecation messages with the same key but different x-opaque-id are allowed backport(#44587) #44682 2019-07-22 11:38:11 +02:00
mixed-cluster Backport testclusters all (#47565) 2019-10-04 16:12:53 +03:00
multi-cluster-search Add support for aliases in queries on _index. (#46944) 2019-09-23 13:21:37 -07:00
no-bootstrap-tests Spawn controller processes from a different directory on macOS (#47013) 2019-09-27 14:02:40 +01:00
os Reduce packaging test log output and introduce ready request interval (#48324) 2019-10-29 14:46:33 -07:00
rolling-upgrade Fix testRecoveryClosedIndex (#48506) 2019-10-31 16:24:40 +01:00
smoke-test-client Complete testclusters backport (#47623) 2019-10-07 11:43:57 +03:00
smoke-test-http Copy http headers to ThreadContext strictly (#45945) (#48675) 2019-10-31 23:05:12 +02:00
smoke-test-ingest-disabled Testclusters: convert left-overs from checkPart1 (#43370) 2019-06-25 19:14:45 +03:00
smoke-test-ingest-with-all-dependencies Testclusters: Convert additional projects (#43625) 2019-06-28 16:44:42 +03:00
smoke-test-multinode Testclusters: convert left-overs from checkPart1 (#43370) 2019-06-25 19:14:45 +03:00
smoke-test-plugins Testclusters: convert left-overs from checkPart1 (#43370) 2019-06-25 19:14:45 +03:00
unconfigured-node-name Pass COMPUTERNAME env var to elasticsearch.bat (#45763) 2019-08-26 11:44:31 -04:00
verify-version-constants Backport testclusters all (#47565) 2019-10-04 16:12:53 +03:00
wildfly Restrict which tasks can use testclusters (#45198) 2019-08-09 13:38:01 +03:00
build.gradle Backport testclusters all (#47565) 2019-10-04 16:12:53 +03:00