Class ResponseDate

  • All Implemented Interfaces:
    HttpResponseInterceptor

    @Contract(threading=SAFE)
    public class ResponseDate
    extends java.lang.Object
    implements HttpResponseInterceptor
    This response interceptor is responsible for adding Date header to outgoing response messages.

    This interceptor is recommended for the HTTP protocol conformance and the correct operation of the server-side message processing pipeline.

    If the Date header is missing or considered invalid, and the alwaysReplace flag is set to true, the interceptor will replace it with the current system date and time.

    Since:
    4.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean alwaysReplace
      Indicates whether to always replace an invalid or missing Date header.
      static ResponseDate INSTANCE  
    • Constructor Summary

      Constructors 
      Constructor Description
      ResponseDate()  
      ResponseDate​(boolean alwaysReplace)
      Constructs a ResponseDate interceptor.
    • Field Detail

      • alwaysReplace

        private final boolean alwaysReplace
        Indicates whether to always replace an invalid or missing Date header.
        Since:
        5.4
    • Constructor Detail

      • ResponseDate

        public ResponseDate()
      • ResponseDate

        public ResponseDate​(boolean alwaysReplace)
        Constructs a ResponseDate interceptor.
        Parameters:
        alwaysReplace - Whether to replace an invalid Date header. If true, the interceptor will replace any detected invalid Date header with a valid value.
        Since:
        5.4
    • Method Detail

      • process

        public void process​(HttpResponse response,
                            EntityDetails entity,
                            HttpContext context)
                     throws HttpException,
                            java.io.IOException
        Description copied from interface: HttpResponseInterceptor
        Processes a response. On the server side, this step is performed before the response is sent to the client. On the client side, this step is performed on incoming messages before the message body is evaluated.
        Specified by:
        process in interface HttpResponseInterceptor
        Parameters:
        response - the response 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
        java.io.IOException - in case of an I/O error