Class EncodingFilter
java.lang.Object
org.glassfish.jersey.server.filter.EncodingFilter
- All Implemented Interfaces:
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.
- Author:
- Martin Matula
-
Constructor Summary
-
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
(ContainerRequestContext request, ContainerResponseContext response)
-
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(ContainerRequestContext request, ContainerResponseContext response) throws IOException - Specified by:
filter
in interfaceContainerResponseFilter
- Throws:
IOException
-