--- a/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Thu Jul 22 16:33:12 2010 +0100
+++ b/jdk/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Thu Jul 22 17:26:33 2010 +0100
@@ -463,9 +463,12 @@
"application/x-www-form-urlencoded");
}
+ boolean chunked = false;
+
if (streaming()) {
if (chunkLength != -1) {
requests.set ("Transfer-Encoding", "chunked");
+ chunked = true;
} else { /* fixed content length */
if (fixedContentLengthLong != -1) {
requests.set ("Content-Length",
@@ -485,6 +488,16 @@
}
}
+ if (!chunked) {
+ if (requests.findValue("Transfer-Encoding") != null) {
+ requests.remove("Transfer-Encoding");
+ if (logger.isLoggable(PlatformLogger.WARNING)) {
+ logger.warning(
+ "use streaming mode for chunked encoding");
+ }
+ }
+ }
+
// get applicable cookies based on the uri and request headers
// add them to the existing request headers
setCookieHeader();