mirror of https://github.com/apache/kafka.git
The test `org.apache.kafka.connect.runtime.rest.RestServerTest#testCORSEnabled` assumes Jersey client can send restricted HTTP headers(`Origin`). Jersey client uses `sun.net.www.protocol.http.HttpURLConnection`. `sun.net.www.protocol.http.HttpURLConnection` drops restricted headers(`Host`, `Keep-Alive`, `Origin`, etc) based on static property `allowRestrictedHeaders`. This property is initialized in a static block by reading Java system property `sun.net.http.allowRestrictedHeaders`. So, if classloader loads `HttpURLConnection` before we set `sun.net.http.allowRestrictedHeaders=true`, then all subsequent changes of this system property won't take any effect(which happens if `org.apache.kafka.connect.integration.ExampleConnectIntegrationTest` is executed before `RestServerTest`). To prevent this, we have to either make sure we set `sun.net.http.allowRestrictedHeaders=true` as early as possible or do not rely on this system property at all. This PR adds test dependency on `httpcomponents-client` which doesn't depend on `sun.net.http.allowRestrictedHeaders` system property. Thus none of existing tests should interfere with `RestServerTest`. Author: Alex Diachenko <sansanichfb@gmail.com> Reviewers: Randall Hauch, Konstantine Karantasis, Gwen Shapira Closes #6236 from avocader/KAFKA-7799 |
||
|---|---|---|
| .. | ||
| resources | ||
| buildscript.gradle | ||
| dependencies.gradle | ||
| rat.gradle | ||
| spotbugs-exclude.xml | ||