Class ResponseContent

  • All Implemented Interfaces:
    HttpResponseInterceptor

    @Contract(threading=IMMUTABLE)
    public class ResponseContent
    extends java.lang.Object
    implements HttpResponseInterceptor
    ResponseContent is the most important interceptor for outgoing responses. It is responsible for delimiting content length by adding Content-Length or Transfer-Content headers based on the properties of the enclosed entity and the protocol version. This interceptor is required for correct functioning of server side protocol processors.
    Since:
    4.0
    • Constructor Summary

      Constructors 
      Constructor Description
      ResponseContent()
      Default constructor.
      ResponseContent​(boolean overwrite)
      Constructor that can be used to fine-tune behavior of this interceptor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void process​(HttpResponse response, HttpContext context)
      Processes the response (possibly updating or inserting) Content-Length and Transfer-Encoding headers.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ResponseContent

        public ResponseContent()
        Default constructor. The Content-Length or Transfer-Encoding will cause the interceptor to throw ProtocolException if already present in the response message.
      • ResponseContent

        public ResponseContent​(boolean overwrite)
        Constructor that can be used to fine-tune behavior of this interceptor.
        Parameters:
        overwrite - If set to true the Content-Length and Transfer-Encoding headers will be created or updated if already present. If set to false the Content-Length and Transfer-Encoding headers will cause the interceptor to throw ProtocolException if already present in the response message.
        Since:
        4.2
    • Method Detail

      • process

        public void process​(HttpResponse response,
                            HttpContext context)
                     throws HttpException,
                            java.io.IOException
        Processes the response (possibly updating or inserting) Content-Length and Transfer-Encoding headers.
        Specified by:
        process in interface HttpResponseInterceptor
        Parameters:
        response - The HttpResponse to modify.
        context - Unused.
        Throws:
        ProtocolException - If either the Content-Length or Transfer-Encoding headers are found.
        java.lang.IllegalArgumentException - If the response is null.
        HttpException - in case of an HTTP protocol violation
        java.io.IOException - in case of an I/O error