Index: trunk/http-core/src/java/org/apache/http/protocol/HttpService.java =================================================================== --- trunk/http-core/src/java/org/apache/http/protocol/HttpService.java (revision 369016) +++ trunk/http-core/src/java/org/apache/http/protocol/HttpService.java (working copy) @@ -113,7 +113,7 @@ } this.conn.receiveRequestEntity((HttpMutableEntityEnclosingRequest) request); } - preprocessRequest(request); + preprocessRequest(request, localContext); logMessage("Request received"); localContext.setAttribute(HttpExecutionContext.HTTP_REQUEST, request); @@ -128,7 +128,7 @@ } } - postprocessResponse(response); + postprocessResponse(response, localContext); } catch (ConnectionClosedException ex) { logMessage("Client closed connection"); closeConnection(); Index: trunk/http-core/src/java/org/apache/http/protocol/AbstractHttpProcessor.java =================================================================== --- trunk/http-core/src/java/org/apache/http/protocol/AbstractHttpProcessor.java (revision 369016) +++ trunk/http-core/src/java/org/apache/http/protocol/AbstractHttpProcessor.java (working copy) @@ -132,22 +132,28 @@ this.responseInterceptors = null; } - protected void preprocessRequest(final HttpMutableRequest request) + protected void preprocessRequest(final HttpMutableRequest request, + HttpContext context) throws IOException, HttpException { if (this.requestInterceptors != null) { + if (context == null) + context = this.localContext; for (int i = 0; i < this.requestInterceptors.size(); i++) { HttpRequestInterceptor interceptor = (HttpRequestInterceptor) this.requestInterceptors.get(i); - interceptor.process(request, this.localContext); + interceptor.process(request, context); } } } - protected void postprocessResponse(final HttpMutableResponse response) + protected void postprocessResponse(final HttpMutableResponse response, + HttpContext context) throws IOException, HttpException { if (this.responseInterceptors != null) { + if (context == null) + context = this.localContext; for (int i = 0; i < this.responseInterceptors.size(); i++) { HttpResponseInterceptor interceptor = (HttpResponseInterceptor) this.responseInterceptors.get(i); - interceptor.process(response, this.localContext); + interceptor.process(response, context); } } } Index: trunk/http-core/src/java/org/apache/http/protocol/HttpRequestExecutor.java =================================================================== --- trunk/http-core/src/java/org/apache/http/protocol/HttpRequestExecutor.java (revision 369016) +++ trunk/http-core/src/java/org/apache/http/protocol/HttpRequestExecutor.java (working copy) @@ -156,7 +156,7 @@ request.getParams().setDefaults(this.params); if (request instanceof HttpMutableRequest) { - preprocessRequest((HttpMutableRequest)request); + preprocessRequest((HttpMutableRequest)request, localContext); } HttpMutableResponse response = null; @@ -192,7 +192,7 @@ throw ex; } } - postprocessResponse(response); + postprocessResponse(response, localContext); return response; } }