Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes 0f990ec1f -> 861cea30e


[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/861cea30
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/861cea30
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/861cea30

Branch: refs/heads/3.0.x-fixes
Commit: 861cea30e5870ff1336c16964f206cb16e19fc85
Parents: 0f990ec
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:50 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/861cea30/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 7238fc1..b8ed562 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
@@ -305,8 +305,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