You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2015/02/11 14:16:05 UTC
cxf git commit: Avoiding setting a wildcard if AsyncConduit is used
Repository: cxf
Updated Branches:
refs/heads/master 41a5659e8 -> 46f271b69
Avoiding setting a wildcard if AsyncConduit is used
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/46f271b6
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/46f271b6
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/46f271b6
Branch: refs/heads/master
Commit: 46f271b6977bac1fde92647aab51f3aa6a9f11f2
Parents: 41a5659
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Wed Feb 11 13:15:43 2015 +0000
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Wed Feb 11 13:15:43 2015 +0000
----------------------------------------------------------------------
.../java/org/apache/cxf/transport/http/Headers.java | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/46f271b6/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
----------------------------------------------------------------------
diff --git a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
index 83f31e1..5507f40 100644
--- a/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
+++ b/rt/transports/http/src/main/java/org/apache/cxf/transport/http/Headers.java
@@ -68,6 +68,7 @@ public class Headers {
public static final String HTTP_HEADERS_SETCOOKIE = "Set-Cookie";
public static final String HTTP_HEADERS_LINK = "Link";
public static final String EMPTY_REQUEST_PROPERTY = "org.apache.cxf.empty.request";
+ private static final String USE_ASYNC_PROPERTY = "use.async.http.conduit";
private static final TimeZone TIME_ZONE_GMT = TimeZone.getTimeZone("GMT");
private static final Logger LOG = LogUtils.getL7dLogger(Headers.class);
@@ -298,10 +299,13 @@ public class Headers {
*/
public void setProtocolHeadersInConnection(HttpURLConnection connection) throws IOException {
boolean emptyRequest = PropertyUtils.isTrue(message.get(EMPTY_REQUEST_PROPERTY));
- // Apparently HttpUrlConnection sets a form Content-Type
- // if no Content-Type is set even for empty requests
- String ct = emptyRequest ? "*/*" : determineContentType();
- connection.setRequestProperty(HttpHeaderHelper.CONTENT_TYPE, ct);
+ // HttpUrlConnection sets a form Content-Type and completely loses custom Accept
+ // if HTTP proxies are used if no Content-Type is set for empty requests
+ boolean asyncConduitUsed = PropertyUtils.isTrue(message.get(USE_ASYNC_PROPERTY));
+ if (!asyncConduitUsed || !emptyRequest) {
+ String ct = emptyRequest ? "*/*" : determineContentType();
+ connection.setRequestProperty(HttpHeaderHelper.CONTENT_TYPE, ct);
+ }
transferProtocolHeadersToURLConnection(connection);
logProtocolHeaders(Level.FINE);