Hi, Please review my fix for JDK-8274779 which changes how HttpClient and HttpsClient checks for equality when comparing request methods.
When `HttpURLConnection.setRequestMethod` is passed `new String("POST")` rather than the "POST" String literal, the old behaviour resulted in broken HttpClients being reused from the `KeepAliveCache`. This is because a call to `HttpClient.available()` was never reachable due to identity equality being used instead of logical equality. The test case uses an injected KeepAliveCache, to which we put a HttpClient that is unavailable. By comparing the initial HttpClient's `connectTimeout` value to the "cached" client's connectTimeout (1234 vs 4321 respectively) we can assert that these values should never be equal as a new HttpClient should be created in cases where we can no longer use the cached one. All CI testing is green for this fix. Kind regards, Evan ------------- Commit messages: - 8274779: HttpClient and HttpsClient incorrectly check request method when set to POST Changes: https://git.openjdk.java.net/jdk/pull/5964/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=5964&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8274779 Stats: 143 lines in 3 files changed: 141 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/5964.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/5964/head:pull/5964 PR: https://git.openjdk.java.net/jdk/pull/5964