diff options
author | Googler <noreply@google.com> | 2017-08-04 21:23:57 +0200 |
---|---|---|
committer | Jakob Buchgraber <buchgr@google.com> | 2017-08-07 11:22:16 +0200 |
commit | 583fa511a1916b81aeeaa0c31126986a382c718b (patch) | |
tree | 41037cab50fb1b46f80b744212a9a5972cc824f9 /src/main/java | |
parent | 4928abff40ca37271973589489dc5015e44c88c0 (diff) |
fix for bazel 303 redirect bug: https://github.com/bazelbuild/bazel/issues/3343
manually turn off HTTP internal reconnection so HTTP can utilize MAX_REDIRECTS, etc.
RELNOTES: None.
PiperOrigin-RevId: 164294282
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpConnector.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpConnector.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpConnector.java index dacd93ae08..cff3cdf2a4 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpConnector.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpConnector.java @@ -94,6 +94,7 @@ class HttpConnector { boolean isAlreadyCompressed = COMPRESSED_EXTENSIONS.contains(HttpUtils.getExtension(url.getPath())) || COMPRESSED_EXTENSIONS.contains(HttpUtils.getExtension(originalUrl.getPath())); + connection.setInstanceFollowRedirects(false); for (Map.Entry<String, String> entry : requestHeaders.entrySet()) { if (isAlreadyCompressed && Ascii.equalsIgnoreCase(entry.getKey(), "Accept-Encoding")) { // We're not going to ask for compression if we're downloading a file that already @@ -132,7 +133,7 @@ class HttpConnector { // 206 means partial content and only happens if caller specified Range. See RFC7233 ยง 4.1. if (code == 200 || code == 206) { return connection; - } else if (code == 301 || code == 302 || code == 307) { + } else if (code == 301 || code == 302 || code == 303 || code == 307) { readAllBytesAndClose(connection.getInputStream()); if (++redirects == MAX_REDIRECTS) { eventHandler.handle(Event.progress("Redirect loop detected in " + originalUrl)); |