You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by as...@apache.org on 2008/07/14 06:17:46 UTC
svn commit: r676474 - in /synapse/trunk/java:
modules/transports/src/main/java/org/apache/synapse/transport/nhttp/
src/site/xdoc/
Author: asankha
Date: Sun Jul 13 21:17:45 2008
New Revision: 676474
URL: http://svn.apache.org/viewvc?rev=676474&view=rev
Log:
fix SYNAPSE-397
Support a new property POST_TO_PATH
Also, remove the propagation of the "Host" header incorrectly
Modified:
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
synapse/trunk/java/src/site/xdoc/Synapse_Configuration_Language.xml
Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java?rev=676474&r1=676473&r2=676474&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java Sun Jul 13 21:17:45 2008
@@ -46,6 +46,7 @@
import java.nio.channels.ClosedChannelException;
import java.util.Iterator;
import java.util.Map;
+import java.net.URL;
/**
* Represents an outgoing Axis2 HTTP/s request. It holds the EPR of the destination, the
@@ -128,9 +129,14 @@
msgContext, epr.getAddress()), HttpVersion.HTTP_1_0);
} else {
-
- httpRequest = new BasicHttpEntityEnclosingRequest(
- "POST", epr.getAddress(), HttpVersion.HTTP_1_0);
+
+ if (msgContext.isPropertyTrue(NhttpConstants.POST_TO_PATH)) {
+ httpRequest = new BasicHttpEntityEnclosingRequest(
+ "POST", new URL(epr.getAddress()).getPath(), HttpVersion.HTTP_1_0);
+ } else {
+ httpRequest = new BasicHttpEntityEnclosingRequest(
+ "POST", epr.getAddress(), HttpVersion.HTTP_1_0);
+ }
ByteArrayOutputStream baos = new ByteArrayOutputStream();
messageFormatter.writeTo(msgContext, format, baos, true);
@@ -148,7 +154,12 @@
"GET", RESTUtil.getURI(msgContext, epr.getAddress()));
} else {
- httpRequest = new BasicHttpEntityEnclosingRequest("POST", epr.getAddress());
+ if (msgContext.isPropertyTrue(NhttpConstants.POST_TO_PATH)) {
+ httpRequest = new BasicHttpEntityEnclosingRequest(
+ "POST", new URL(epr.getAddress()).getPath());
+ } else {
+ httpRequest = new BasicHttpEntityEnclosingRequest("POST", epr.getAddress());
+ }
((BasicHttpEntityEnclosingRequest) httpRequest).setEntity(new BasicHttpEntity());
}
}
@@ -162,7 +173,9 @@
Object header = iter.next();
Object value = headers.get(header);
if (header instanceof String && value != null && value instanceof String) {
- httpRequest.setHeader((String) header, (String) value);
+ if (!HTTPConstants.HEADER_HOST.equalsIgnoreCase((String) header)) {
+ httpRequest.setHeader((String) header, (String) value);
+ }
}
}
}
Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java?rev=676474&r1=676473&r2=676474&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/nhttp/NhttpConstants.java Sun Jul 13 21:17:45 2008
@@ -24,6 +24,7 @@
public static final String HTTP_SC = "HTTP_SC";
public static final String SENDING_FAULT = "sending_fault";
public static final String FORCE_HTTP_1_0 = "FORCE_HTTP_1.0";
+ public static final String POST_TO_PATH = "POST_TO_PATH";
public static final String IGNORE_SC_ACCEPTED = "IGNORE_SC_ACCEPTED";
public static final String FORCE_SC_ACCEPTED = "FORCE_SC_ACCEPTED";
Modified: synapse/trunk/java/src/site/xdoc/Synapse_Configuration_Language.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/src/site/xdoc/Synapse_Configuration_Language.xml?rev=676474&r1=676473&r2=676474&view=diff
==============================================================================
--- synapse/trunk/java/src/site/xdoc/Synapse_Configuration_Language.xml (original)
+++ synapse/trunk/java/src/site/xdoc/Synapse_Configuration_Language.xml Sun Jul 13 21:17:45 2008
@@ -1318,6 +1318,10 @@
FORCE_HTTP_1.0 - forces outgoing http/s messages to use HTTP 1.0
(instead of the default 1.1)
</li>
+ <li>
+ POST_TO_PATH - forces outgoing http/s messages to use the PATH segment in a POST
+ (instead of the default full URL)
+ </li>
</ul>
<h5>
The synapse:get-property() XPath extension function