Interface ResponseHeaders

  • All Superinterfaces:
    Headers, Parameters

    public interface ResponseHeaders
    extends Headers
    Extends Parameters interface by adding HTTP response headers oriented constants and convenient methods. Use constants located in Http.Header as standard header names.

    Lifecycle

    Headers can be muted until send to the client. It is also possible to register a 'before send' function which can made 'last minute mutation'.

    Headers are send together with HTTP status code also automatically just before first chunk of response data is send.

    See Also:
    Http.Header
    • Method Detail

      • acceptPatches

        List<MediaType> acceptPatches()
        Gets immutable list of supported patch document formats (header "Accept-Patch").

        Method returns a copy of actual values.

        Returns:
        A list of supported media types for the patch.
      • contentType

        Optional<MediaType> contentType()
        Optionally gets the MIME type of the response body.
        Returns:
        Media type of the content.
      • expires

        Optional<ZonedDateTime> expires()
        Optionally gets the value of "Expires" header.

        Gives the date/time after which the response is considered stale.

        Returns:
        Expires header value.
      • lastModified

        Optional<ZonedDateTime> lastModified()
        Optionally gets the value of "Last-Modified" header.

        The last modified date for the requested object.

        Returns:
        Expires header value.
      • location

        Optional<URI> location()
        Optionally gets the value of "Location" header.

        Used in redirection, or when a new resource has been created.

        Returns:
        Location header value.
      • clearCookie

        void clearCookie​(String name)
        Clears a cookie by adding a Set-Cookie header with an expiration date in the past.
        Parameters:
        name - name of the cookie.
      • beforeSend

        void beforeSend​(Consumer<ResponseHeaders> headersConsumer)
        Register a Consumer which is executed just before headers are send. Consumer can made 'last minute changes' in headers.

        Sending of headers to the client is postponed after all registered consumers are finished.

        There is no guarantied execution order.

        Parameters:
        headersConsumer - a consumer which will be executed just before headers are send.
      • whenSend

        @Deprecated
        default Single<ResponseHeaders> whenSend()
        Deprecated.
        since 2.0.0, please use whenSent()
        Returns a completion stage which is completed when all headers are send to the client.
        Returns:
        a completion stage of the headers.
      • whenSent

        Single<ResponseHeaders> whenSent()
        Returns a Single which is completed when all headers are sent to the client.
        Returns:
        a single of the headers
      • send

        Single<ResponseHeaders> send()
        Send headers and status code to the client. This instance become immutable after that (all muting methods throws IllegalStateException).

        It is non-blocking method returning a Single.

        Returns:
        a completion stage of sending process.
      • putAll

        ResponseHeaders putAll​(Parameters parameters)
        Description copied from interface: Parameters
        Copies all of the mappings from the specified parameters to this instance replacing values of existing associations (optional operation).
        Specified by:
        putAll in interface Parameters
        Parameters:
        parameters - to copy.
        Returns:
        this instance of Parameters
      • add

        ResponseHeaders add​(String key,
                            String... values)
        Description copied from interface: Parameters
        Adds specified values tu association with the specified key (optional operation). If parameters doesn't contains mapping, new mapping is created.
        Specified by:
        add in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be add to association with the specified key
        Returns:
        this instance of Parameters
      • add

        ResponseHeaders add​(String key,
                            Iterable<String> values)
        Description copied from interface: Parameters
        Adds specified values tu association with the specified key (optional operation). If parameters doesn't contains mapping, new mapping is created.
        Specified by:
        add in interface Parameters
        Parameters:
        key - key with which the specified value is to be associated
        values - value to be add to association with the specified key. If null then noting will be add.
        Returns:
        this instance of Parameters
      • addAll

        ResponseHeaders addAll​(Parameters parameters)
        Description copied from interface: Parameters
        Copies all of the mappings from the specified parameters to this instance adding values to existing associations (optional operation).
        Specified by:
        addAll in interface Parameters
        Parameters:
        parameters - to copy.
        Returns:
        this instance of Parameters