Class EncodingFilter
java.lang.Object
org.glassfish.jersey.server.filter.EncodingFilter
- All Implemented Interfaces:
javax.ws.rs.container.ContainerResponseFilter
@Priority(3000)
public final class EncodingFilter
extends Object
implements javax.ws.rs.container.ContainerResponseFilter
Container filter that supports encoding-based content negotiation. The filter examines what
content encodings are supported by the container (by looking up all the
encoders) and decides what encoding should be chosen
based on the encodings listed in the Accept-Encoding request header and their associated quality values.
If none of the acceptable encodings is supported and identity encoding is explicitly forbidden by the client,
the filter generates Response.Status.NOT_ACCEPTABLE response.
The filter also ensures Accept-Encoding is added to the Vary header, for proper interaction with web caches.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidenableFor(ResourceConfig rc, Class<? extends ContentEncoder>... encoders) Enables this filter along with the providedencodersfor the suppliedResourceConfig.voidfilter(javax.ws.rs.container.ContainerRequestContext request, javax.ws.rs.container.ContainerResponseContext response) Returns a (lexically) sorted set of supported encodings.
-
Field Details
-
IDENTITY_ENCODING
- See Also:
-
injectionManager
-
supportedEncodings
-
-
Constructor Details
-
EncodingFilter
public EncodingFilter()
-
-
Method Details
-
enableFor
@SafeVarargs public static void enableFor(ResourceConfig rc, Class<? extends ContentEncoder>... encoders) Enables this filter along with the providedencodersfor the suppliedResourceConfig.- Parameters:
rc- Resource config this filter should be enabled for.encoders- content encoders.
-
filter
public void filter(javax.ws.rs.container.ContainerRequestContext request, javax.ws.rs.container.ContainerResponseContext response) throws IOException - Specified by:
filterin interfacejavax.ws.rs.container.ContainerResponseFilter- Throws:
IOException
-
getSupportedEncodings
-