Interface HttpRequestInterceptor

All Known Subinterfaces:
HttpProcessor
All Known Implementing Classes:
DefaultHttpProcessor, H2RequestConnControl, H2RequestContent, H2RequestTargetHost, H2RequestValidateHost, RequestConnControl, RequestContent, RequestDate, RequestExpectContinue, RequestTargetHost, RequestUserAgent, RequestValidateHost

@Contract(threading=STATELESS) public interface HttpRequestInterceptor
HTTP protocol interceptor is a routine that implements a specific aspect of the HTTP protocol. Usually protocol interceptors are expected to act upon one specific header or a group of related headers of the incoming message or populate the outgoing message with one specific header or a group of related headers.

Protocol Interceptors can also manipulate content entities enclosed with messages. Usually this is accomplished by using the 'Decorator' pattern where a wrapper entity class is used to decorate the original entity.

Protocol interceptors must be implemented as thread-safe. Similarly to servlets, protocol interceptors should not use instance variables unless access to those variables is synchronized.

Since:
4.0
  • Method Details

    • process

      void process(HttpRequest request, EntityDetails entity, HttpContext context) throws HttpException, IOException
      Processes a request. On the client side, this step is performed before the request is sent to the server. On the server side, this step is performed on incoming messages before the message body is evaluated.
      Parameters:
      request - the request to process
      entity - the request entity details or null if not available
      context - the context for the request
      Throws:
      HttpException - in case of an HTTP protocol violation
      IOException - in case of an I/O error