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 2015/02/14 14:25:20 UTC
svn commit: r1659794 - in /httpcomponents/httpcore/trunk:
httpcore-nio/src/main/java/org/apache/http/nio/protocol/
httpcore-nio/src/test/java/org/apache/http/nio/protocol/
httpcore/src/main/java/org/apache/http/protocol/
httpcore/src/test/java/org/apac...
Author: olegk
Date: Sat Feb 14 13:25:20 2015
New Revision: 1659794
URL: http://svn.apache.org/r1659794
Log:
HTTPCORE-381: added HttpContext parameter to the lookup method of HttpRequestHandlerMapper and HttpAsyncRequestHandlerMapper
Modified:
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestHandlerMapper.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java
httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/UriHttpAsyncRequestHandlerMapper.java
httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestUriHttpAsyncRequestHandlerMapper.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpRequestHandlerMapper.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpService.java
httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/UriHttpRequestHandlerMapper.java
httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestHttpService.java
httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestUriHttpRequestHandlerMapper.java
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -28,6 +28,7 @@
package org.apache.http.nio.protocol;
import org.apache.http.HttpRequest;
+import org.apache.http.protocol.HttpContext;
/**
* {@code HttpAsyncRequestHandlerMapper} can be used to resolve an instance
@@ -44,7 +45,9 @@ public interface HttpAsyncRequestHandler
* @param request the request
* @return HTTP request handler or {@code null} if no match
* is found.
+ *
+ * @since 5.0
*/
- HttpAsyncRequestHandler<?> lookup(HttpRequest request);
+ HttpAsyncRequestHandler<?> lookup(HttpRequest request, HttpContext context);
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/HttpAsyncService.java Sat Feb 14 13:25:20 2015
@@ -277,7 +277,7 @@ public class HttpAsyncService implements
context.setAttribute(HttpCoreContext.HTTP_CONNECTION, conn);
this.httpProcessor.process(request, context);
- final HttpAsyncRequestHandler<Object> requestHandler = getRequestHandler(request);
+ final HttpAsyncRequestHandler<Object> requestHandler = getRequestHandler(request, context);
final HttpAsyncRequestConsumer<Object> consumer = requestHandler.processRequest(request, context);
consumer.requestReceived(request);
@@ -709,10 +709,10 @@ public class HttpAsyncService implements
}
@SuppressWarnings("unchecked")
- private HttpAsyncRequestHandler<Object> getRequestHandler(final HttpRequest request) {
+ private HttpAsyncRequestHandler<Object> getRequestHandler(final HttpRequest request, final HttpContext context) {
HttpAsyncRequestHandler<Object> handler = null;
if (this.handlerMapper != null) {
- handler = (HttpAsyncRequestHandler<Object>) this.handlerMapper.lookup(request);
+ handler = (HttpAsyncRequestHandler<Object>) this.handlerMapper.lookup(request, context);
}
if (handler == null) {
handler = new NullRequestHandler();
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/UriHttpAsyncRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/UriHttpAsyncRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/UriHttpAsyncRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/nio/protocol/UriHttpAsyncRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -29,6 +29,7 @@ package org.apache.http.nio.protocol;
import org.apache.http.HttpRequest;
import org.apache.http.annotation.ThreadSafe;
+import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.UriPatternMatcher;
import org.apache.http.util.Args;
@@ -106,7 +107,7 @@ public class UriHttpAsyncRequestHandlerM
* @return handler or {@code null} if no match is found.
*/
@Override
- public HttpAsyncRequestHandler<?> lookup(final HttpRequest request) {
+ public HttpAsyncRequestHandler<?> lookup(final HttpRequest request, final HttpContext context) {
return matcher.lookup(getRequestPath(request));
}
Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestUriHttpAsyncRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestUriHttpAsyncRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestUriHttpAsyncRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/nio/protocol/TestUriHttpAsyncRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -29,6 +29,7 @@ package org.apache.http.nio.protocol;
import org.apache.http.HttpRequest;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.protocol.HttpCoreContext;
import org.apache.http.protocol.UriPatternMatcher;
import org.junit.Assert;
import org.junit.Test;
@@ -58,7 +59,8 @@ public class TestUriHttpAsyncRequestHand
final UriHttpAsyncRequestHandlerMapper registry = new UriHttpAsyncRequestHandlerMapper(matcher);
final HttpRequest request = new BasicHttpRequest("GET", "/");
- registry.lookup(request);
+ final HttpCoreContext context = HttpCoreContext.create();
+ registry.lookup(request, context);
registry.unregister("/h1");
Mockito.verify(matcher).lookup("/");
@@ -91,15 +93,16 @@ public class TestUriHttpAsyncRequestHand
HttpAsyncRequestHandler<?> h;
- h = registry.lookup(new BasicHttpRequest("GET", "/that.view?param=value"));
+ final HttpCoreContext context = HttpCoreContext.create();
+ h = registry.lookup(new BasicHttpRequest("GET", "/that.view?param=value"), context);
Assert.assertNotNull(h);
Assert.assertTrue(h1 == h);
- h = registry.lookup(new BasicHttpRequest("GET", "/that.form?whatever"));
+ h = registry.lookup(new BasicHttpRequest("GET", "/that.form?whatever"), context);
Assert.assertNotNull(h);
Assert.assertTrue(h2 == h);
- h = registry.lookup(new BasicHttpRequest("GET", "/whatever"));
+ h = registry.lookup(new BasicHttpRequest("GET", "/whatever"), context);
Assert.assertNotNull(h);
Assert.assertTrue(def == h);
}
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -44,7 +44,9 @@ public interface HttpRequestHandlerMappe
* @param request the request to map to a handler
* @return HTTP request handler or {@code null} if no match
* is found.
+ *
+ * @since 5.0
*/
- HttpRequestHandler lookup(HttpRequest request);
+ HttpRequestHandler lookup(HttpRequest request, HttpContext context);
}
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpService.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpService.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpService.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/HttpService.java Sat Feb 14 13:25:20 2015
@@ -269,7 +269,7 @@ public class HttpService {
final HttpContext context) throws HttpException, IOException {
HttpRequestHandler handler = null;
if (this.handlerMapper != null) {
- handler = this.handlerMapper.lookup(request);
+ handler = this.handlerMapper.lookup(request, context);
}
if (handler != null) {
handler.handle(request, response, context);
Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/UriHttpRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/UriHttpRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/UriHttpRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/protocol/UriHttpRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -108,7 +108,7 @@ public class UriHttpRequestHandlerMapper
* @return handler or {@code null} if no match is found.
*/
@Override
- public HttpRequestHandler lookup(final HttpRequest request) {
+ public HttpRequestHandler lookup(final HttpRequest request, final HttpContext context) {
Args.notNull(request, "HTTP request");
return matcher.lookup(getRequestPath(request));
}
Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestHttpService.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestHttpService.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestHttpService.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestHttpService.java Sat Feb 14 13:25:20 2015
@@ -365,7 +365,7 @@ public class TestHttpService {
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_1, 200, context)).thenReturn(response);
final HttpResponse error = new BasicHttpResponse(HttpVersion.HTTP_1_0, 500, "Oppsie");
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_0, 500, context)).thenReturn(error);
- Mockito.when(handlerResolver.lookup(request)).thenReturn(requestHandler);
+ Mockito.when(handlerResolver.lookup(request, context)).thenReturn(requestHandler);
Mockito.doThrow(new MethodNotSupportedException("whatever")).when(
requestHandler).handle(request, response, context);
Mockito.when(connReuseStrategy.keepAlive(error, context)).thenReturn(Boolean.FALSE);
@@ -408,7 +408,7 @@ public class TestHttpService {
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_1, 200, context)).thenReturn(response);
final HttpResponse error = new BasicHttpResponse(HttpVersion.HTTP_1_0, 500, "Oppsie");
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_0, 500, context)).thenReturn(error);
- Mockito.when(handlerResolver.lookup(request)).thenReturn(requestHandler);
+ Mockito.when(handlerResolver.lookup(request, context)).thenReturn(requestHandler);
Mockito.doThrow(new UnsupportedHttpVersionException()).when(
requestHandler).handle(request, response, context);
Mockito.when(connReuseStrategy.keepAlive(error, context)).thenReturn(Boolean.FALSE);
@@ -451,7 +451,7 @@ public class TestHttpService {
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_1, 200, context)).thenReturn(response);
final HttpResponse error = new BasicHttpResponse(HttpVersion.HTTP_1_0, 500, "Oppsie");
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_0, 500, context)).thenReturn(error);
- Mockito.when(handlerResolver.lookup(request)).thenReturn(requestHandler);
+ Mockito.when(handlerResolver.lookup(request, context)).thenReturn(requestHandler);
Mockito.doThrow(new ProtocolException("oh, this world is wrong")).when(
requestHandler).handle(request, response, context);
Mockito.when(connReuseStrategy.keepAlive(error, context)).thenReturn(Boolean.FALSE);
@@ -491,7 +491,7 @@ public class TestHttpService {
Mockito.when(conn.receiveRequestHeader()).thenReturn(request);
final HttpResponse response = new BasicHttpResponse(HttpVersion.HTTP_1_1, 200, "OK");
Mockito.when(responseFactory.newHttpResponse(HttpVersion.HTTP_1_1, 200, context)).thenReturn(response);
- Mockito.when(handlerResolver.lookup(request)).thenReturn(requestHandler);
+ Mockito.when(handlerResolver.lookup(request, context)).thenReturn(requestHandler);
Mockito.when(connReuseStrategy.keepAlive(response, context)).thenReturn(Boolean.TRUE);
httpservice.handleRequest(conn, context);
Modified: httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestUriHttpRequestHandlerMapper.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestUriHttpRequestHandlerMapper.java?rev=1659794&r1=1659793&r2=1659794&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestUriHttpRequestHandlerMapper.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/test/java/org/apache/http/protocol/TestUriHttpRequestHandlerMapper.java Sat Feb 14 13:25:20 2015
@@ -55,7 +55,8 @@ public class TestUriHttpRequestHandlerMa
final UriHttpRequestHandlerMapper registry = new UriHttpRequestHandlerMapper(matcher);
final HttpRequest request = new BasicHttpRequest("GET", "/");
- registry.lookup(request);
+ final HttpCoreContext context = HttpCoreContext.create();
+ registry.lookup(request, context);
registry.unregister("/h1");
Mockito.verify(matcher).lookup("/");
@@ -87,15 +88,16 @@ public class TestUriHttpRequestHandlerMa
HttpRequestHandler h;
- h = registry.lookup(new BasicHttpRequest("GET", "/that.view?param=value"));
+ final HttpCoreContext context = HttpCoreContext.create();
+ h = registry.lookup(new BasicHttpRequest("GET", "/that.view?param=value"), context);
Assert.assertNotNull(h);
Assert.assertTrue(h1 == h);
- h = registry.lookup(new BasicHttpRequest("GET", "/that.form?whatever"));
+ h = registry.lookup(new BasicHttpRequest("GET", "/that.form?whatever"), context);
Assert.assertNotNull(h);
Assert.assertTrue(h2 == h);
- h = registry.lookup(new BasicHttpRequest("GET", "/whatever"));
+ h = registry.lookup(new BasicHttpRequest("GET", "/whatever"), context);
Assert.assertNotNull(h);
Assert.assertTrue(def == h);
}