You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/03/19 10:46:24 UTC

svn commit: r925154 - in /synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp: NhttpConstants.java ServerWorker.java

Author: hiranya
Date: Fri Mar 19 09:46:23 2010
New Revision: 925154

URL: http://svn.apache.org/viewvc?rev=925154&view=rev
Log:
Ability to specify a default content type for incoming HTTP requests that do not have the Content-Type header


Modified:
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
    synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java?rev=925154&r1=925153&r2=925154&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java Fri Mar 19 09:46:23 2010
@@ -47,6 +47,7 @@ public class NhttpConstants {
     public static final String SERIALIZED_BYTES = "SerializedBytes";
     public static final String REQUEST_READ = "REQUEST_READ";
     public static final String CONTENT_TYPE = "CONTENT_TYPE";
+    public static final String REQUEST_CONTENT_TYPE = "DEFAULT_REQUEST_CONTENT_TYPE";
     public static final String DEFAULT_CONTENT_TYPE = "application/octet-stream";
 
     public static final String SEND_TIMEOUT = "SEND_TIMEOUT";

Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java?rev=925154&r1=925153&r2=925154&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ServerWorker.java Fri Mar 19 09:46:23 2010
@@ -391,7 +391,8 @@ public class ServerWorker implements Run
 
         try {
             Header contentType = request.getFirstHeader(HTTP.CONTENT_TYPE);
-            String contentTypeStr = contentType != null ? contentType.getValue() : null;
+            String contentTypeStr = contentType != null ?
+                    contentType.getValue() : inferContentType();
 
             String charSetEncoding = BuilderUtil.getCharSetEncoding(contentTypeStr);
             msgContext.setProperty(
@@ -410,6 +411,15 @@ public class ServerWorker implements Run
         }
     }
 
+    private String inferContentType() {
+        Parameter param = cfgCtx.getAxisConfiguration().
+                getParameter(NhttpConstants.REQUEST_CONTENT_TYPE);
+        if (param != null) {
+            return param.getValue().toString();
+        }
+        return null;
+    }
+
     /**
      * Process HEAD, DELETE, TRACE, OPTIONS
      */