Author: rajikak
Date: Thu Aug  8 19:48:48 2013
New Revision: 1511994

URL: http://svn.apache.org/r1511994
Log:
fixed SYNAPSE-806.

Modified:
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java?rev=1511994&r1=1511993&r2=1511994&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/HttpCoreNIOSender.java
 Thu Aug  8 19:48:48 2013
@@ -267,7 +267,13 @@ public class HttpCoreNIOSender extends A
                 cfg.getProperty(HttpConnectionParams.STALE_CONNECTION_CHECK, 
0) == 1)
             .setBooleanParameter(HttpConnectionParams.TCP_NODELAY,
                 cfg.getProperty(HttpConnectionParams.TCP_NODELAY, 1) == 1)
-            .setParameter(HttpProtocolParams.USER_AGENT, 
"Synapse-HttpComponents-NIO");
+            .setParameter(HttpProtocolParams.USER_AGENT, 
"Synapse-HttpComponents-NIO")
+            .setParameter(
+                    HttpProtocolParams.HTTP_MALFORMED_INPUT_ACTION,
+                    cfg.getMalformedInputActionValue())
+            .setParameter(
+                    HttpProtocolParams.HTTP_UNMAPPABLE_INPUT_ACTION,
+                    cfg.getUnMappableInputActionValue());
 
         if (cfg.getBooleanValue(NIOReactorPNames.INTEREST_OPS_QUEUEING, 
false)) {
             params.setBooleanParameter(NIOReactorPNames.INTEREST_OPS_QUEUEING, 
true);

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java?rev=1511994&r1=1511993&r2=1511994&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ListenerContext.java
 Thu Aug  8 19:48:48 2013
@@ -259,7 +259,13 @@ public class ListenerContext {
                 cfg.getProperty(HttpConnectionParams.STALE_CONNECTION_CHECK, 
0) == 1)
             .setBooleanParameter(HttpConnectionParams.TCP_NODELAY,
                 cfg.getProperty(HttpConnectionParams.TCP_NODELAY, 1) == 1)
-            .setParameter(HttpProtocolParams.ORIGIN_SERVER, 
"Synapse-HttpComponents-NIO");
+            .setParameter(HttpProtocolParams.ORIGIN_SERVER, 
"Synapse-HttpComponents-NIO")
+            .setParameter(
+                    HttpProtocolParams.HTTP_MALFORMED_INPUT_ACTION,
+                    cfg.getMalformedInputActionValue())
+            .setParameter(
+                    HttpProtocolParams.HTTP_UNMAPPABLE_INPUT_ACTION,
+                    cfg.getUnMappableInputActionValue());
 
         if (cfg.getBooleanValue(NIOReactorPNames.INTEREST_OPS_QUEUEING, 
false)) {
             params.setBooleanParameter(NIOReactorPNames.INTEREST_OPS_QUEUEING, 
true);

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java?rev=1511994&r1=1511993&r2=1511994&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/NHttpConfiguration.java
 Thu Aug  8 19:48:48 2013
@@ -21,8 +21,10 @@ package org.apache.synapse.transport.nht
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.http.params.HttpProtocolParams;
 import org.apache.synapse.commons.util.MiscellaneousUtil;
 
+import java.nio.charset.CodingErrorAction;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
@@ -216,4 +218,25 @@ public final class NHttpConfiguration {
         return methods.contains(method);
     }
 
+    public CodingErrorAction getMalformedInputActionValue() {
+        String val = 
getStringValue(HttpProtocolParams.HTTP_MALFORMED_INPUT_ACTION, "report");
+        return getCodingErrorAction(val);
+    }
+
+    public CodingErrorAction getUnMappableInputActionValue() {
+        String val = 
getStringValue(HttpProtocolParams.HTTP_UNMAPPABLE_INPUT_ACTION, "report");
+        return getCodingErrorAction(val);
+    }
+
+    private CodingErrorAction getCodingErrorAction(String action) {
+        if ("report".equals(action)) {
+            return CodingErrorAction.REPORT;
+        } else if ("ignore".equals(action)) {
+            return CodingErrorAction.IGNORE;
+        } else if ("replace".equals(action)) {
+            return CodingErrorAction.REPLACE;
+        } else {
+            return CodingErrorAction.REPORT;
+        }
+    }
 }


Reply via email to