Hi Oleg,

We had a situation where we needed to hit a client's test server that would 
only work with preemptive authentication.

Below is the code that we wound up using. Given all of the back-and-forth on 
the list about this functionality, I'm hoping you can let me know if this is 
anywhere close...

Thanks!

-- Ken


        HttpRequestInterceptor preemptiveAuth = new HttpRequestInterceptor() {
            public void process(HttpRequest request, HttpContext context) 
throws HttpException, IOException {
                AuthState authState = (AuthState) 
context.getAttribute(ClientContext.TARGET_AUTH_STATE);
                CredentialsProvider credsProvider = (CredentialsProvider) 
context.getAttribute(
                        ClientContext.CREDS_PROVIDER);
                HttpHost targetHost = (HttpHost) 
context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
                
                if (authState.getAuthScheme() == null) {
                    AuthScope authScope = new 
AuthScope(targetHost.getHostName(), targetHost.getPort());
                    Credentials creds = credsProvider.getCredentials(authScope);
                    if (creds != null) {
                        authState.setAuthScheme(new BasicScheme());
                        authState.setCredentials(creds);
                    }
                }
            }
        };

--------------------------
Ken Krugler
+1 530-210-6378
http://bixolabs.com
custom data mining solutions






Reply via email to