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