[jbossws-commits] JBossWS SVN: r12995 - stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/transport.
jbossws-commits at lists.jboss.org
jbossws-commits at lists.jboss.org
Mon Sep 20 09:20:54 EDT 2010
Author: sergeyb
Date: 2010-09-20 09:20:53 -0400 (Mon, 20 Sep 2010)
New Revision: 12995
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/transport/NettyClient.java
Log:
[JBWS-3116] Applying a slightly modified patch on behalf of Sverker Abrahamsson with NettyClient now sending absolute RequestURIs only for proxy bound requests
Modified: stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/transport/NettyClient.java
===================================================================
--- stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/transport/NettyClient.java 2010-09-20 10:02:56 UTC (rev 12994)
+++ stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/transport/NettyClient.java 2010-09-20 13:20:53 UTC (rev 12995)
@@ -172,9 +172,11 @@
WSResponseHandler responseHandler = new WSResponseHandler();
NettyHelper.setResponseHandler(channel, responseHandler);
-
+
//Send the HTTP request
- HttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, reqMessage != null ? HttpMethod.POST : HttpMethod.GET, targetAddress);
+ String targetRequestUri = isProxyRequest(additionalHeaders) ? targetAddress : getRelativeRequestUri(target);
+
+ HttpRequest request = new DefaultHttpRequest(HttpVersion.HTTP_1_1, reqMessage != null ? HttpMethod.POST : HttpMethod.GET, targetRequestUri);
request.addHeader(HttpHeaders.Names.HOST, target.getHost());
request.addHeader(HttpHeaders.Names.CONNECTION, HttpHeaders.Values.KEEP_ALIVE);
setAdditionalHeaders(request, additionalHeaders);
@@ -271,7 +273,20 @@
transport.finished(resMetadata, resHeaders); //provide both headers and metadata to the transport to allow for proper keepAlive checks
}
}
+
+ private static boolean isProxyRequest(Map<String, Object> additionalHeaders)
+ {
+ // callProps may also need to be checked
+ return additionalHeaders.containsKey(HttpHeaders.Names.PROXY_AUTHORIZATION);
+ }
+ private static String getRelativeRequestUri(URL target)
+ {
+ return target.getPath() +
+ (target.getQuery() != null ? "?" + target.getQuery() : "") +
+ (target.getRef() != null ? "#" + target.getRef() : "");
+ }
+
private static SslHandler getSSLHandler(URL target, Map<String, Object> callProps) throws IOException
{
SslHandler handler = null;
More information about the jbossws-commits
mailing list