Search in sources :

Example 11 with AuthRequestHandler

use of org.apache.commons.httpclient.server.AuthRequestHandler in project ecf by eclipse.

the class TestBasicAuth method testHeadBasicAuthentication.

public void testHeadBasicAuthentication() throws Exception {
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
    HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
    handlerchain.appendHandler(new AuthRequestHandler(creds));
    handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
    HttpState state = new HttpState();
    AuthScope authscope = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test");
    state.setCredentials(authscope, creds);
    this.client.setState(state);
    this.server.setRequestHandler(handlerchain);
    HeadMethod head = new HeadMethod("/test/");
    try {
        this.client.executeMethod(head);
    } finally {
        head.releaseConnection();
    }
    assertNotNull(head.getStatusLine());
    assertEquals(HttpStatus.SC_OK, head.getStatusLine().getStatusCode());
    Header auth = head.getRequestHeader("Authorization");
    assertNotNull(auth);
    String expected = "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getAsciiBytes("testuser:testpass")));
    assertEquals(expected, auth.getValue());
    AuthState authstate = head.getHostAuthState();
    assertNotNull(authstate.getAuthScheme());
    assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
    assertEquals("test", authstate.getRealm());
}
Also used : HeadMethod(org.apache.commons.httpclient.methods.HeadMethod) Header(org.apache.commons.httpclient.Header) HttpServiceHandler(org.apache.commons.httpclient.server.HttpServiceHandler) FeedbackService(org.apache.commons.httpclient.FeedbackService) HttpRequestHandlerChain(org.apache.commons.httpclient.server.HttpRequestHandlerChain) HttpState(org.apache.commons.httpclient.HttpState) AuthRequestHandler(org.apache.commons.httpclient.server.AuthRequestHandler) UsernamePasswordCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)

Example 12 with AuthRequestHandler

use of org.apache.commons.httpclient.server.AuthRequestHandler in project ecf by eclipse.

the class TestBasicAuth method testBasicAuthenticationWithDefaultCreds.

public void testBasicAuthenticationWithDefaultCreds() throws Exception {
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
    HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
    handlerchain.appendHandler(new AuthRequestHandler(creds));
    handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
    HttpState state = new HttpState();
    state.setCredentials(AuthScope.ANY, creds);
    this.client.setState(state);
    this.server.setRequestHandler(handlerchain);
    GetMethod httpget = new GetMethod("/test/");
    try {
        this.client.executeMethod(httpget);
    } finally {
        httpget.releaseConnection();
    }
    assertNotNull(httpget.getStatusLine());
    assertEquals(HttpStatus.SC_OK, httpget.getStatusLine().getStatusCode());
    Header auth = httpget.getRequestHeader("Authorization");
    assertNotNull(auth);
    String expected = "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getAsciiBytes("testuser:testpass")));
    assertEquals(expected, auth.getValue());
    AuthState authstate = httpget.getHostAuthState();
    assertNotNull(authstate.getAuthScheme());
    assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
    assertEquals("test", authstate.getRealm());
}
Also used : Header(org.apache.commons.httpclient.Header) HttpServiceHandler(org.apache.commons.httpclient.server.HttpServiceHandler) FeedbackService(org.apache.commons.httpclient.FeedbackService) HttpRequestHandlerChain(org.apache.commons.httpclient.server.HttpRequestHandlerChain) HttpState(org.apache.commons.httpclient.HttpState) GetMethod(org.apache.commons.httpclient.methods.GetMethod) AuthRequestHandler(org.apache.commons.httpclient.server.AuthRequestHandler) UsernamePasswordCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)

Example 13 with AuthRequestHandler

use of org.apache.commons.httpclient.server.AuthRequestHandler in project ecf by eclipse.

the class TestBasicAuth method testBasicAuthenticationWithNoCreds.

public void testBasicAuthenticationWithNoCreds() throws IOException {
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
    HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
    handlerchain.appendHandler(new AuthRequestHandler(creds));
    handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
    this.server.setRequestHandler(handlerchain);
    GetMethod httpget = new GetMethod("/test/");
    try {
        this.client.executeMethod(httpget);
        assertNotNull(httpget.getStatusLine());
        assertEquals(HttpStatus.SC_UNAUTHORIZED, httpget.getStatusLine().getStatusCode());
        AuthState authstate = httpget.getHostAuthState();
        assertNotNull(authstate.getAuthScheme());
        assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
        assertEquals("test", authstate.getRealm());
    } finally {
        httpget.releaseConnection();
    }
}
Also used : HttpServiceHandler(org.apache.commons.httpclient.server.HttpServiceHandler) FeedbackService(org.apache.commons.httpclient.FeedbackService) HttpRequestHandlerChain(org.apache.commons.httpclient.server.HttpRequestHandlerChain) GetMethod(org.apache.commons.httpclient.methods.GetMethod) AuthRequestHandler(org.apache.commons.httpclient.server.AuthRequestHandler) UsernamePasswordCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)

Example 14 with AuthRequestHandler

use of org.apache.commons.httpclient.server.AuthRequestHandler in project ecf by eclipse.

the class TestBasicAuth method testBasicAuthenticationWithMutlipleRealms2.

public void testBasicAuthenticationWithMutlipleRealms2() throws Exception {
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser2", "testpass2");
    HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
    handlerchain.appendHandler(new AuthRequestHandler(creds, "test2"));
    handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
    HttpState state = new HttpState();
    AuthScope realm1 = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test");
    AuthScope realm2 = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test2");
    state.setCredentials(realm1, new UsernamePasswordCredentials("testuser", "testpass"));
    state.setCredentials(realm2, new UsernamePasswordCredentials("testuser2", "testpass2"));
    this.client.setState(state);
    this.server.setRequestHandler(handlerchain);
    GetMethod httpget = new GetMethod("/test2/");
    try {
        this.client.executeMethod(httpget);
    } finally {
        httpget.releaseConnection();
    }
    assertNotNull(httpget.getStatusLine());
    assertEquals(HttpStatus.SC_OK, httpget.getStatusLine().getStatusCode());
    Header auth = httpget.getRequestHeader("Authorization");
    assertNotNull(auth);
    String expected = "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getAsciiBytes("testuser2:testpass2")));
    assertEquals(expected, auth.getValue());
    AuthState authstate = httpget.getHostAuthState();
    assertNotNull(authstate.getAuthScheme());
    assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
    assertEquals("test2", authstate.getRealm());
}
Also used : Header(org.apache.commons.httpclient.Header) HttpServiceHandler(org.apache.commons.httpclient.server.HttpServiceHandler) FeedbackService(org.apache.commons.httpclient.FeedbackService) HttpRequestHandlerChain(org.apache.commons.httpclient.server.HttpRequestHandlerChain) HttpState(org.apache.commons.httpclient.HttpState) GetMethod(org.apache.commons.httpclient.methods.GetMethod) AuthRequestHandler(org.apache.commons.httpclient.server.AuthRequestHandler) UsernamePasswordCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)

Example 15 with AuthRequestHandler

use of org.apache.commons.httpclient.server.AuthRequestHandler in project ecf by eclipse.

the class TestBasicAuth method testBasicAuthenticationWithMutlipleRealms1.

public void testBasicAuthenticationWithMutlipleRealms1() throws Exception {
    UsernamePasswordCredentials creds = new UsernamePasswordCredentials("testuser", "testpass");
    HttpRequestHandlerChain handlerchain = new HttpRequestHandlerChain();
    handlerchain.appendHandler(new AuthRequestHandler(creds));
    handlerchain.appendHandler(new HttpServiceHandler(new FeedbackService()));
    HttpState state = new HttpState();
    AuthScope realm1 = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test");
    AuthScope realm2 = new AuthScope(this.server.getLocalAddress(), this.server.getLocalPort(), "test2");
    state.setCredentials(realm1, new UsernamePasswordCredentials("testuser", "testpass"));
    state.setCredentials(realm2, new UsernamePasswordCredentials("testuser2", "testpass2"));
    this.client.setState(state);
    this.server.setRequestHandler(handlerchain);
    GetMethod httpget = new GetMethod("/test/");
    try {
        this.client.executeMethod(httpget);
    } finally {
        httpget.releaseConnection();
    }
    assertNotNull(httpget.getStatusLine());
    assertEquals(HttpStatus.SC_OK, httpget.getStatusLine().getStatusCode());
    Header auth = httpget.getRequestHeader("Authorization");
    assertNotNull(auth);
    String expected = "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getAsciiBytes("testuser:testpass")));
    assertEquals(expected, auth.getValue());
    AuthState authstate = httpget.getHostAuthState();
    assertNotNull(authstate.getAuthScheme());
    assertTrue(authstate.getAuthScheme() instanceof BasicScheme);
    assertEquals("test", authstate.getRealm());
}
Also used : Header(org.apache.commons.httpclient.Header) HttpServiceHandler(org.apache.commons.httpclient.server.HttpServiceHandler) FeedbackService(org.apache.commons.httpclient.FeedbackService) HttpRequestHandlerChain(org.apache.commons.httpclient.server.HttpRequestHandlerChain) HttpState(org.apache.commons.httpclient.HttpState) GetMethod(org.apache.commons.httpclient.methods.GetMethod) AuthRequestHandler(org.apache.commons.httpclient.server.AuthRequestHandler) UsernamePasswordCredentials(org.apache.commons.httpclient.UsernamePasswordCredentials)

Aggregations

AuthRequestHandler (org.apache.commons.httpclient.server.AuthRequestHandler)37 HttpRequestHandlerChain (org.apache.commons.httpclient.server.HttpRequestHandlerChain)37 HttpServiceHandler (org.apache.commons.httpclient.server.HttpServiceHandler)37 GetMethod (org.apache.commons.httpclient.methods.GetMethod)22 UsernamePasswordCredentials (org.apache.commons.httpclient.UsernamePasswordCredentials)14 StringRequestEntity (org.apache.commons.httpclient.methods.StringRequestEntity)14 PostMethod (org.apache.commons.httpclient.methods.PostMethod)13 FeedbackService (org.apache.commons.httpclient.FeedbackService)12 HttpState (org.apache.commons.httpclient.HttpState)11 Header (org.apache.commons.httpclient.Header)10 ByteArrayInputStream (java.io.ByteArrayInputStream)2 InputStream (java.io.InputStream)2 EchoService (org.apache.commons.httpclient.EchoService)2 InputStreamRequestEntity (org.apache.commons.httpclient.methods.InputStreamRequestEntity)2 RequestEntity (org.apache.commons.httpclient.methods.RequestEntity)2 HeadMethod (org.apache.commons.httpclient.methods.HeadMethod)1 PutMethod (org.apache.commons.httpclient.methods.PutMethod)1