You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/05/13 16:46:13 UTC
svn commit: r537590 - in
/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http:
conn/ssl/SSLSocketFactory.java impl/client/DefaultClientRequestDirector.java
impl/conn/DefaultClientConnection.java
Author: olegk
Date: Sun May 13 07:46:12 2007
New Revision: 537590
URL: http://svn.apache.org/viewvc?view=rev&rev=537590
Log:
* Minor bug fixes
* Reviewed HTTP CONNECT logic for compliance with Tunneling TCP based protocols through Web proxy servers
Modified:
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/conn/ssl/SSLSocketFactory.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/conn/ssl/SSLSocketFactory.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/conn/ssl/SSLSocketFactory.java?view=diff&rev=537590&r1=537589&r2=537590
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/conn/ssl/SSLSocketFactory.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/conn/ssl/SSLSocketFactory.java Sun May 13 07:46:12 2007
@@ -175,7 +175,7 @@
}
TrustManager[] trustmanagers = null;
if (truststore != null) {
- trustmanagers = createTrustManagers(keystore);
+ trustmanagers = createTrustManagers(truststore);
}
this.sslcontext = SSLContext.getInstance(algorithm);
this.sslcontext.init(keymanagers, trustmanagers, random);
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java?view=diff&rev=537590&r1=537589&r2=537590
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java Sun May 13 07:46:12 2007
@@ -69,10 +69,13 @@
import org.apache.http.message.BasicHttpRequest;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HTTP;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpExecutionContext;
import org.apache.http.protocol.HttpProcessor;
import org.apache.http.protocol.HttpRequestExecutor;
+import org.apache.http.util.CharArrayBuffer;
/**
* Default implementation of a client-side request director.
@@ -481,17 +484,34 @@
*/
protected HttpRequest createConnectRequest(HttpRoute route,
HttpContext context) {
- // see RFC 2817, section 5.2
- final String authority =
- route.getTargetHost().getHostName() + ":" +
- route.getTargetHost().getPort();
-
- //@@@ do we need a more refined algorithm to choose the HTTP version?
- //@@@ use a request factory provided by the caller/creator?
+ // see RFC 2817, section 5.2 and
+ // INTERNET-DRAFT: Tunneling TCP based protocols through
+ // Web proxy servers
+
+ HttpHost target = route.getTargetHost();
+
+ String host = target.getHostName();
+ int port = target.getPort();
+ if (port < 0) {
+ SchemeRegistry schemeREgistry = connManager.getSchemeRegistry();
+ Scheme scheme = schemeREgistry.getScheme(target.getSchemeName());
+ port = scheme.getDefaultPort();
+ }
+
+ CharArrayBuffer buffer = new CharArrayBuffer(host.length() + 6);
+ buffer.append(host);
+ buffer.append(":");
+ buffer.append(Integer.toString(port));
+
+ String authority = buffer.toString();
+ HttpVersion ver = HttpProtocolParams.getVersion(params);
HttpRequest req = new BasicHttpRequest
- ("CONNECT", authority, HttpVersion.HTTP_1_1);
+ ("CONNECT", authority, ver);
- req.addHeader("Host", authority);
+ String agent = HttpProtocolParams.getUserAgent(params);
+ if (agent != null) {
+ req.addHeader(HTTP.USER_AGENT, agent);
+ }
//@@@ authenticate here, in caller, or in request interceptor?
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java?view=diff&rev=537590&r1=537589&r2=537590
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java Sun May 13 07:46:12 2007
@@ -204,10 +204,10 @@
final HttpParams params) throws HttpException, IOException {
HttpResponse response = super.receiveResponseHeader(params);
if (HEADERS_LOG.isDebugEnabled()) {
- HEADERS_LOG.debug(">> " + response.getStatusLine().toString());
+ HEADERS_LOG.debug("<< " + response.getStatusLine().toString());
Header[] headers = response.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
- HEADERS_LOG.debug(">> " + headers[i].toString());
+ HEADERS_LOG.debug("<< " + headers[i].toString());
}
}
return response;
@@ -217,10 +217,10 @@
public void sendRequestHeader(HttpRequest request) throws HttpException, IOException {
super.sendRequestHeader(request);
if (HEADERS_LOG.isDebugEnabled()) {
- HEADERS_LOG.debug("<< " + request.getRequestLine().toString());
+ HEADERS_LOG.debug(">> " + request.getRequestLine().toString());
Header[] headers = request.getAllHeaders();
for (int i = 0; i < headers.length; i++) {
- HEADERS_LOG.debug("<< " + headers[i].toString());
+ HEADERS_LOG.debug(">> " + headers[i].toString());
}
}
}
Re: svn commit: r537590 - in
/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http:
conn/ssl/SSLSocketFactory.java
impl/client/DefaultClientRequestDirector.java
impl/conn/DefaultClientConnection.java
Posted by Oleg Kalnichevski <ol...@apache.org>.
On Sun, 2007-05-13 at 18:30 +0200, Roland Weber wrote:
> Hi Oleg,
>
> > --- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java (original)
> > +++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java Sun May 13 07:46:12 2007
> > + if (port < 0) {
> > + SchemeRegistry schemeREgistry = connManager.getSchemeRegistry();
> > + Scheme scheme = schemeREgistry.getScheme(target.getSchemeName());
> > + port = scheme.getDefaultPort();
> > + }
>
> Just the capitalization of the variable. Is it necessary
> to have the variable at all, if there is no null check?
>
Good catch.
I tend to prefer intermediate variables to line folding, but I do not
mind it other way either. I cleaned things up a little. I hope it is all
okay now
Oleg
> cheers,
> Roland
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org
Re: svn commit: r537590 - in /jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http:
conn/ssl/SSLSocketFactory.java impl/client/DefaultClientRequestDirector.java
impl/conn/DefaultClientConnection.java
Posted by Roland Weber <os...@dubioso.net>.
Hi Oleg,
> --- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java (original)
> +++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/client/DefaultClientRequestDirector.java Sun May 13 07:46:12 2007
> + if (port < 0) {
> + SchemeRegistry schemeREgistry = connManager.getSchemeRegistry();
> + Scheme scheme = schemeREgistry.getScheme(target.getSchemeName());
> + port = scheme.getDefaultPort();
> + }
Just the capitalization of the variable. Is it necessary
to have the variable at all, if there is no null check?
cheers,
Roland
---------------------------------------------------------------------
To unsubscribe, e-mail: httpcomponents-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: httpcomponents-dev-help@jakarta.apache.org