Author: rajikak
Date: Thu Aug  8 20:36:28 2013
New Revision: 1512022

URL: http://svn.apache.org/r1512022
Log:
fixed SYNAPSE-806 in pass-through transport.

Modified:
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/BaseConfiguration.java
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/PassThroughConfiguration.java

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/BaseConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/BaseConfiguration.java?rev=1512022&r1=1512021&r2=1512022&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/BaseConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/BaseConfiguration.java
 Thu Aug  8 20:36:28 2013
@@ -142,8 +142,11 @@ public abstract class BaseConfiguration 
             setBooleanParameter(NIOReactorPNames.INTEREST_OPS_QUEUEING,
                     
conf.getBooleanProperty(NIOReactorParams.INTEREST_OPS_QUEUEING, false)).
             setParameter(HttpProtocolParams.ORIGIN_SERVER,
-                    conf.getStringProperty(HttpProtocolParams.ORIGIN_SERVER, 
"Synapse-PassThrough-HTTP"));
-
+                    conf.getStringProperty(HttpProtocolParams.ORIGIN_SERVER, 
"Synapse-PassThrough-HTTP")).
+            setParameter(HttpProtocolParams.HTTP_MALFORMED_INPUT_ACTION,
+                    conf.getMalformedInputActionValue()).
+            setParameter(HttpProtocolParams.HTTP_UNMAPPABLE_INPUT_ACTION,
+                    conf.getUnMappableInputActionValue());
         /* Set advanced tuning params only if they are explicitly set so that 
we are not loosing
            internal defaults of HttpCore-NIO */
         if (conf.getIntProperty(HttpConnectionParams.SO_LINGER) != null) {

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/PassThroughConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/PassThroughConfiguration.java?rev=1512022&r1=1512021&r2=1512022&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/PassThroughConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/config/PassThroughConfiguration.java
 Thu Aug  8 20:36:28 2013
@@ -21,8 +21,10 @@ package org.apache.synapse.transport.pas
 
 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.Properties;
 
 /**
@@ -190,4 +192,26 @@ public class PassThroughConfiguration {
         return val == null ? def : val;
     }
 
+    public CodingErrorAction getMalformedInputActionValue() {
+        String val = 
getStringProperty(HttpProtocolParams.HTTP_MALFORMED_INPUT_ACTION, "report");
+        return getCodingErrorAction(val);
+    }
+
+    public CodingErrorAction getUnMappableInputActionValue() {
+        String val = 
getStringProperty(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