Class CodingDirectives

Direct Known Subclasses:
CookieDirectives

public abstract class CodingDirectives extends CacheConditionDirectives
  • Constructor Details

    • CodingDirectives

      public CodingDirectives()
  • Method Details

    • decodeRequest

      public Route decodeRequest(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, 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(Iterable<Coder> coders, 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(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(Iterable<Coder> coders, 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, 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, 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(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)