> 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
Evan Whelan has updated the pull request incrementally with two additional commits since the last revision: - Extracted both connectTimeouts to variables and added copyright header to accessor - Removed reflection in favour of injected accessor for KeepAliveCache ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/5964/files - new: https://git.openjdk.java.net/jdk/pull/5964/files/a65e493d..90ab8587 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5964&range=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5964&range=01-02 Stats: 46 lines in 3 files changed: 35 ins; 8 del; 3 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