Author: dkulp
Date: Mon Nov 26 18:24:05 2012
New Revision: 1413768
URL: http://svn.apache.org/viewvc?rev=1413768&view=rev
Log:
[CXF-4645] Allow re-use of connections when Auth is specifically set
Modified patch from Øystein Grimstad applied
Modified:
cxf/trunk/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
Modified:
cxf/trunk/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java?rev=1413768&r1=1413767&r2=1413768&view=diff
==============================================================================
---
cxf/trunk/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
(original)
+++
cxf/trunk/rt/transports/http-hc/src/main/java/org/apache/cxf/transport/http/asyncclient/AsyncHTTPConduit.java
Mon Nov 26 18:24:05 2012
@@ -469,10 +469,16 @@ public class AsyncHTTPConduit extends UR
ctx.setAttribute(ClientContext.SCHEME_REGISTRY, reg);
connectionFuture = new BasicFuture<Boolean>(callback);
DefaultHttpAsyncClient c = getHttpAsyncClient();
+ CredentialsProvider credProvider = c.getCredentialsProvider();
Credentials creds =
(Credentials)outMessage.getContextualProperty(Credentials.class.getName());
- if (creds != null) {
- c.getCredentialsProvider().setCredentials(AuthScope.ANY,
creds);
+ if (creds != null && credProvider != null) {
+ credProvider.setCredentials(AuthScope.ANY, creds);
}
+ if (credProvider != null &&
credProvider.getCredentials(AuthScope.ANY) != null) {
+ ctx.setAttribute(ClientContext.USER_TOKEN,
+
credProvider.getCredentials(AuthScope.ANY).getUserPrincipal());
+ }
+
c.execute(new CXFHttpAsyncRequestProducer(entity, outbuf),
new CXFHttpAsyncResponseConsumer(this, inbuf,
responseCallback),
ctx,