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 void
enableFor
(ResourceConfig rc, Class<? extends ContentEncoder>... encoders) Enables this filter along with the providedencoders
for the suppliedResourceConfig
.void
filter
(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 providedencoders
for 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:
filter
in interfacejavax.ws.rs.container.ContainerResponseFilter
- Throws:
IOException
-
getSupportedEncodings
Returns a (lexically) sorted set of supported encodings.- Returns:
- sorted set of supported encodings.
-