Class CodingDirectives

    • Constructor Detail

      • CodingDirectives

        public CodingDirectives()
    • Method Detail

      • decodeRequest

        public Route decodeRequest​(java.util.function.Supplier<Route> inner)
        Decompresses the incoming request if it is gzip or deflate compressed. Uncompressed requests are passed through untouched. If the request encoded with another encoding the request is rejected with an UnsupportedRequestEncodingRejection.
        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)
      • decodeRequestWith

        public Route decodeRequestWith​(Coder coder,
                                       java.util.function.Supplier<Route> inner)
        Decodes the incoming request using the given Decoder. If the request encoding doesn't match the request is rejected with an UnsupportedRequestEncodingRejection.
        Parameters:
        coder - (undocumented)
        inner - (undocumented)
        Returns:
        (undocumented)
      • decodeRequestWith

        public Route decodeRequestWith​(java.lang.Iterable<Coder> coders,
                                       java.util.function.Supplier<Route> inner)
        Decodes the incoming request if it is encoded with one of the given encoders. If the request encoding doesn't match one of the given encoders the request is rejected with an UnsupportedRequestEncodingRejection. If no decoders are given the default encoders (Gzip, Deflate, NoCoding) are used.
        Parameters:
        coders - (undocumented)
        inner - (undocumented)
        Returns:
        (undocumented)
      • encodeResponse

        public Route encodeResponse​(java.util.function.Supplier<Route> inner)
        Encodes the response with the encoding that is requested by the client via the Accept- Encoding header. The response encoding is determined by the rules specified in http://tools.ietf.org/html/rfc7231#section-5.3.4.

        If the Accept-Encoding header is missing or empty or specifies an encoding other than identity, gzip or deflate then no encoding is used.

        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)
      • encodeResponseWith

        public Route encodeResponseWith​(java.lang.Iterable<Coder> coders,
                                        java.util.function.Supplier<Route> inner)
        Encodes the response with the encoding that is requested by the client via the Accept- Encoding header. The response encoding is determined by the rules specified in http://tools.ietf.org/html/rfc7231#section-5.3.4.

        If the Accept-Encoding header is missing then the response is encoded using the first encoder.

        If the Accept-Encoding header is empty and NoCoding is part of the encoders then no response encoding is used. Otherwise the request is rejected.

        If [encoders] is empty, no encoding is performed.

        Parameters:
        coders - (undocumented)
        inner - (undocumented)
        Returns:
        (undocumented)
      • requestEncodedWith

        public Route requestEncodedWith​(HttpEncoding encoding,
                                        java.util.function.Supplier<Route> inner)
        Rejects the request with an UnsupportedRequestEncodingRejection if its encoding doesn't match the given one.
        Parameters:
        encoding - (undocumented)
        inner - (undocumented)
        Returns:
        (undocumented)
      • responseEncodingAccepted

        public Route responseEncodingAccepted​(HttpEncoding encoding,
                                              java.util.function.Supplier<Route> inner)
        Rejects the request with an UnacceptedResponseEncodingRejection if the given response encoding is not accepted by the client.
        Parameters:
        encoding - (undocumented)
        inner - (undocumented)
        Returns:
        (undocumented)
      • withPrecompressedMediaTypeSupport

        public Route withPrecompressedMediaTypeSupport​(java.util.function.Supplier<Route> inner)
        Inspects the response entity and adds a Content-Encoding: gzip response header if the entity's media-type is precompressed with gzip and no Content-Encoding header is present yet.
        Parameters:
        inner - (undocumented)
        Returns:
        (undocumented)