Repository: cxf
Updated Branches:
  refs/heads/master aac1196c9 -> df6896ab2


[CXF-6648] CT should be dropped for GETs by default


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/df6896ab
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/df6896ab
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/df6896ab

Branch: refs/heads/master
Commit: df6896ab2ffe59238af8d7444524e6e24731dc2f
Parents: aac1196
Author: Sergey Beryozkin <[email protected]>
Authored: Wed Oct 21 12:47:03 2015 +0100
Committer: Sergey Beryozkin <[email protected]>
Committed: Wed Oct 21 12:47:03 2015 +0100

----------------------------------------------------------------------
 .../java/org/apache/cxf/transport/http/Headers.java     | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/df6896ab/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 6a81d23..65adab9 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
@@ -304,8 +304,16 @@ public class Headers {
         boolean dropContentType = false;
         boolean emptyRequest = 
PropertyUtils.isTrue(message.get(EMPTY_REQUEST_PROPERTY));
         if (emptyRequest) { 
-            // drop only if a user explicitly requested it by setting the 
property to false
-            dropContentType = !MessageUtils.getContextualBoolean(message, 
SET_EMPTY_REQUEST_CT_PROPERTY, true);
+            Object setCtForEmptyRequestProp = 
message.getContextualProperty(SET_EMPTY_REQUEST_CT_PROPERTY);
+            if (setCtForEmptyRequestProp != null) {
+                // If SET_EMPTY_REQUEST_CT_PROPERTY is set then do as a user 
prefers.
+                // CT will be dropped if setting CT for empty requests was 
explicitly disabled
+                dropContentType = 
PropertyUtils.isFalse(setCtForEmptyRequestProp);
+            } else if 
("GET".equals((String)message.get(Message.HTTP_REQUEST_METHOD))) {
+                // otherwise if it is GET then just drop it
+                dropContentType = true;
+            }
+            
         }
         if (!dropContentType) {
             String ct = emptyRequest && 
!headers.containsKey(Message.CONTENT_TYPE) ? "*/*" : determineContentType();

Reply via email to