Author: olegk Date: Tue Sep 13 13:34:16 2005 New Revision: 280648 URL: http://svn.apache.org/viewcvs?rev=280648&view=rev Log: PR #36369 (Can not set the "Proxy-connection" header)
Contributed by Oleg Kalnichevski Reviewed by Ortwin Glück Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HttpMethodBase.java jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestConnectionPersistence.java Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HttpMethodBase.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HttpMethodBase.java?rev=280648&r1=280647&r2=280648&view=diff ============================================================================== --- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HttpMethodBase.java (original) +++ jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/HttpMethodBase.java Tue Sep 13 13:34:16 2005 @@ -1262,7 +1262,9 @@ LOG.trace("enter HttpMethodBase.addProxyConnectionHeader(" + "HttpState, HttpConnection)"); if (!conn.isTransparent()) { - setRequestHeader("Proxy-Connection", "Keep-Alive"); + if (getRequestHeader("Proxy-Connection") == null) { + addRequestHeader("Proxy-Connection", "Keep-Alive"); + } } } Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestConnectionPersistence.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestConnectionPersistence.java?rev=280648&r1=280647&r2=280648&view=diff ============================================================================== --- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestConnectionPersistence.java (original) +++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestConnectionPersistence.java Tue Sep 13 13:34:16 2005 @@ -29,10 +29,12 @@ import java.io.IOException; +import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.methods.StringRequestEntity; import org.apache.commons.httpclient.server.HttpRequestHandler; import org.apache.commons.httpclient.server.SimpleHttpServerConnection; +import org.apache.commons.httpclient.server.SimpleProxy; import org.apache.commons.httpclient.server.SimpleRequest; import org.apache.commons.httpclient.server.SimpleResponse; @@ -215,5 +217,36 @@ assertFalse(connman.getConection().isOpen()); } + public void testProxyConnClose() throws Exception { + this.server.setHttpService(new EchoService()); + this.proxy = new SimpleProxy(); + this.client.getHostConfiguration().setProxy( + proxy.getLocalAddress(), + proxy.getLocalPort()); + + AccessibleHttpConnectionManager connman = new AccessibleHttpConnectionManager(); + + this.client.setHttpConnectionManager(connman); + + GetMethod httpget = new GetMethod("/test/"); + try { + this.client.executeMethod(httpget); + } finally { + httpget.releaseConnection(); + } + assertTrue(connman.getConection().isOpen()); + + httpget = new GetMethod("/test/"); + httpget.setRequestHeader("Proxy-Connection", "Close"); + try { + this.client.executeMethod(httpget); + } finally { + httpget.releaseConnection(); + } + assertFalse(connman.getConection().isOpen()); + assertEquals("Close", httpget.getRequestHeader("Proxy-Connection").getValue()); + } + + } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]