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;
+ }
+ }
+
}