You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ol...@apache.org on 2005/04/19 20:33:03 UTC
svn commit: r161944 - in jakarta/commons/proper/httpclient/trunk/src:
java/org/apache/commons/httpclient/auth/AuthState.java
test/org/apache/commons/httpclient/TestNoHost.java
test/org/apache/commons/httpclient/TestProxy.java
Author: olegk
Date: Tue Apr 19 11:33:02 2005
New Revision: 161944
URL: http://svn.apache.org/viewcvs?view=rev&rev=161944
Log:
PR #34427 (IllegalStateException: Authentication state already initialized)
Contributed by Oleg Kalnichevski
Reviewed by Ortwin Glück & Michael Becke
Modified:
jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/auth/AuthState.java
jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestNoHost.java
jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestProxy.java
Modified: jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/auth/AuthState.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/auth/AuthState.java?view=diff&r1=161943&r2=161944
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/auth/AuthState.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/auth/AuthState.java Tue Apr 19 11:33:02 2005
@@ -112,11 +112,13 @@
* Preemptively assigns Basic authentication scheme.
*/
public void setPreemptive() {
- if (this.authScheme != null) {
- throw new IllegalStateException("Authentication state already initialized");
+ if (!this.preemptive) {
+ if (this.authScheme != null) {
+ throw new IllegalStateException("Authentication state already initialized");
+ }
+ this.authScheme = AuthPolicy.getAuthScheme("basic");
+ this.preemptive = true;
}
- this.authScheme = AuthPolicy.getAuthScheme("basic");
- this.preemptive = true;
}
/**
Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestNoHost.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestNoHost.java?view=diff&r1=161943&r2=161944
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestNoHost.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestNoHost.java Tue Apr 19 11:33:02 2005
@@ -103,6 +103,7 @@
suite.addTest(TestNoncompliant.suite());
// Proxy
suite.addTest(TestProxy.suite());
+ suite.addTest(TestProxyWithRedirect.suite());
return suite;
}
Modified: jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestProxy.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestProxy.java?view=diff&r1=161943&r2=161944
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestProxy.java (original)
+++ jakarta/commons/proper/httpclient/trunk/src/test/org/apache/commons/httpclient/TestProxy.java Tue Apr 19 11:33:02 2005
@@ -753,4 +753,23 @@
}
}
+ public void testPreemptiveAuthProxy() throws Exception {
+ UsernamePasswordCredentials creds =
+ new UsernamePasswordCredentials("testuser", "testpass");
+
+ this.client.getState().setProxyCredentials(AuthScope.ANY, creds);
+ this.client.getParams().setAuthenticationPreemptive(true);
+ this.server.setHttpService(new FeedbackService());
+
+ this.proxy.requireAuthentication(creds, "test", true);
+
+ GetMethod get = new GetMethod("/");
+ try {
+ this.client.executeMethod(get);
+ assertEquals(HttpStatus.SC_OK, get.getStatusCode());
+ } finally {
+ get.releaseConnection();
+ }
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org