Class GzipHandler
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.handler.AbstractHandler
-
- org.eclipse.jetty.server.handler.AbstractHandlerContainer
-
- org.eclipse.jetty.server.handler.HandlerWrapper
-
- org.eclipse.jetty.server.handler.gzip.GzipHandler
-
- All Implemented Interfaces:
Handler,GzipFactory,HandlerContainer,Container,Destroyable,Dumpable,Dumpable.DumpableContainer,LifeCycle
public class GzipHandler extends HandlerWrapper implements GzipFactory
A Handler that can dynamically GZIP uncompress requests, and compress responses.The GzipHandler can be applied to the entire server (a
gzip.modis included in thejetty-home) or it may be applied to individual contexts.Both Request uncompress and Response compress are gated by a configurable
DispatcherTypecheck on the GzipHandler. (This is similar in behavior to aFilterconfiguration you would find in a Servlet Descriptor file (WEB-INF/web.xml)
(Default:DispatcherType.REQUEST).Requests with a
Content-Encodingheader with the valuegzipwill be uncompressed by aGzipHttpInputInterceptorfor any API that usesServletRequest.getInputStream()orServletRequest.getReader().Response compression has a number of checks before GzipHandler will perform compression.
-
Does the request contain a
Accept-Encodingheader that specifiesgzipvalue? -
Is the
HttpServletRequest.getMethod()allowed by the configured HTTP Method Filter.
(Default:GET) -
Is the incoming Path allowed by the configured Path Specs filters?
(Default: all paths are allowed) -
Is the Request User-Agent allowed by the configured User-Agent filters?
(Default: MSIE 6 is excluded) -
Is the Response
Content-Lengthheader present, and does its value meet the minimum gzip size requirements (default 32 bytes)? -
Is the Request
Acceptheader present and does it contain the requiredgzipvalue?
When you encounter a configurable filter in the GzipHandler (method, paths, user-agent, mime-types, etc) that has both Included and Excluded values, note that the Included values always win over the Excluded values.
Important note about Default Values: It is important to note that the GzipHandler will automatically configure itself from the MimeType present on the Server, System, and Contexts and the ultimate set of default values for the various filters (paths, methods, mime-types, etc) can be influenced by the available mime types to work with.
ETag (or Entity Tag) information: any Request headers for
If-None-MatchorIf-Matchwill be evaluated by the GzipHandler to determine if it was involved in compression of the response earlier. This is usually present as a--gzipsuffix on the ETag that the Client User-Agent is tracking and handed to the Jetty server. The special--gzipsuffix on the ETag is how GzipHandler knows that the content passed through itself, and this suffix will be stripped from the Request header values before the request is sent onwards to the specific webapp / servlet endpoint for handling. If a ETag is present in the Response headers, and GzipHandler is compressing the contents, it will add the--gzipsuffix before the Response headers are committed and sent to the User Agent. Note that the suffix used is determined byCompressedContentFormat.ETAG_SEPARATORThis implementation relies on an Jetty internal
HttpOutput.Interceptormechanism to allow for effective and efficient compression of the response on all Output API usages:-
ServletOutputStream- Obtained fromServletResponse.getOutputStream()using the traditional Blocking I/O techniques -
WriteListener- Provided toServletOutputStream.setWriteListener(javax.servlet.WriteListener)using the new (since Servlet 3.1) Async I/O techniques -
PrintWriter- Obtained fromServletResponse.getWriter()using Blocking I/O techniques
Historically the compression of responses were accomplished via Servlet Filters (eg:
GzipFilter) and usage ofHttpServletResponseWrapper. Since the introduction of Async I/O in Servlet 3.1, this older form of Gzip support in web applications has been problematic and bug ridden.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
-
Field Summary
Fields Modifier and Type Field Description static intBREAK_EVEN_GZIP_SIZEstatic intDEFAULT_MIN_GZIP_SIZEstatic java.lang.StringDEFLATEstatic java.lang.StringGZIPstatic java.lang.StringGZIP_HANDLER_ETAGS-
Fields inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
_handler
-
-
Constructor Summary
Constructors Constructor Description GzipHandler()Instantiates a new GzipHandler.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddExcludedAgentPatterns(java.lang.String... patterns)Add excluded to the User-Agent filtering.voidaddExcludedMethods(java.lang.String... methods)Add excluded to the HTTP methods filtering.voidaddExcludedMimeTypes(java.lang.String... types)Adds excluded MIME types for response filtering.voidaddExcludedPaths(java.lang.String... pathspecs)Adds excluded Path Specs for request filtering.voidaddIncludedAgentPatterns(java.lang.String... patterns)Adds included User-Agents for filtering.voidaddIncludedMethods(java.lang.String... methods)Adds included HTTP Methods (eg: POST, PATCH, DELETE) for filtering.voidaddIncludedMimeTypes(java.lang.String... types)Add included MIME types for response filteringvoidaddIncludedPaths(java.lang.String... pathspecs)Add included Path Specs for filtering.protected voiddoStart()Starts the managed lifecycle beans in the order they were added.booleangetCheckGzExists()Deprecated.feature will be removed in Jetty 10.x, with no replacement.intgetCompressionLevel()java.util.zip.DeflatergetDeflater(Request request, long contentLength)intgetDeflaterPoolCapacity()Gets the maximum number of Deflaters that the DeflaterPool can hold.java.util.EnumSet<javax.servlet.DispatcherType>getDispatcherTypes()Get the Set ofDispatcherTypethat this Filter will operate on.java.lang.String[]getExcludedAgentPatterns()Get the current filter list of excluded User-Agent patternsjava.lang.StringgetExcludedMethodList()Get the excluded filter list of HTTP methods in CSV formatjava.lang.String[]getExcludedMethods()Get the current filter list of excluded HTTP methodsjava.lang.String[]getExcludedMimeTypes()Get the current filter list of excluded MIME typesjava.lang.String[]getExcludedPaths()Get the current filter list of excluded Path Specsjava.lang.String[]getIncludedAgentPatterns()Get the current filter list of included User-Agent patternsjava.lang.StringgetIncludedMethodList()Get the included filter list of HTTP methods in CSV formatjava.lang.String[]getIncludedMethods()Get the current filter list of included HTTP Methodsjava.lang.String[]getIncludedMimeTypes()Get the current filter list of included MIME typesjava.lang.String[]getIncludedPaths()Get the current filter list of included Path SpecsintgetInflateBufferSize()Get the size (in bytes) of theInflaterbuffer used to inflate compressed requests.java.lang.String[]getMethods()Deprecated.usegetIncludedMethods()instead.intgetMinGzipSize()Get the minimum size, in bytes, that a responseContent-Lengthmust be before compression will trigger.protected HttpFieldgetVaryField()voidhandle(java.lang.String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)Handle a request.protected booleanisAgentGzipable(java.lang.String ua)Test if the provided User-Agent is allowed based on the User-Agent filters.booleanisMimeTypeGzipable(java.lang.String mimetype)Test if the provided MIME type is allowed based on the MIME type filters.protected booleanisPathGzipable(java.lang.String requestURI)Test if the provided Request URI is allowed based on the Path Specs filters.booleanisSyncFlush()Is theDeflaterrunningDeflater.SYNC_FLUSHor not.protected DeflaterPoolnewDeflaterPool(int capacity)voidrecycle(java.util.zip.Deflater deflater)voidsetCheckGzExists(boolean checkGzExists)Deprecated.feature will be removed in Jetty 10.x, with no replacement.voidsetCompressionLevel(int compressionLevel)Set the Compression level thatDeflateruses.voidsetDeflaterPoolCapacity(int capacity)Sets the maximum number of Deflaters that the DeflaterPool can hold.voidsetDispatcherTypes(java.util.EnumSet<javax.servlet.DispatcherType> dispatchers)Set of supportedDispatcherTypethat this filter will operate on.voidsetDispatcherTypes(javax.servlet.DispatcherType... dispatchers)Set the list of supportedDispatcherTypethat this filter will operate on.voidsetExcludedAgentPatterns(java.lang.String... patterns)Set the excluded filter list of User-Agent patterns (replacing any previously set)voidsetExcludedMethodList(java.lang.String csvMethods)Set the excluded filter list of HTTP Methods (replacing any previously set)voidsetExcludedMethods(java.lang.String... methods)Set the excluded filter list of HTTP methods (replacing any previously set)voidsetExcludedMimeTypes(java.lang.String... types)Set the excluded filter list of MIME types (replacing any previously set)voidsetExcludedPaths(java.lang.String... pathspecs)Set the excluded filter list of Path specs (replacing any previously set)voidsetIncludedAgentPatterns(java.lang.String... patterns)Set the included filter list of User-Agent patterns (replacing any previously set)voidsetIncludedMethodList(java.lang.String csvMethods)Set the included filter list of HTTP Methods (replacing any previously set)voidsetIncludedMethods(java.lang.String... methods)Set the included filter list of HTTP methods (replacing any previously set)voidsetIncludedMimeTypes(java.lang.String... types)Set the included filter list of MIME types (replacing any previously set)voidsetIncludedPaths(java.lang.String... pathspecs)Set the included filter list of Path specs (replacing any previously set)voidsetInflateBufferSize(int size)Set the size (in bytes) of theInflaterbuffer used to inflate comrpessed requests.voidsetMinGzipSize(int minGzipSize)Set the minimum response size to trigger dynamic compression.voidsetSyncFlush(boolean syncFlush)Set theDeflaterflush mode to use.java.lang.StringtoString()-
Methods inherited from class org.eclipse.jetty.server.handler.HandlerWrapper
destroy, expandChildren, getHandler, getHandlers, insertHandler, setHandler
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandlerContainer
doShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
doError, doStop, getServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
-
-
-
Field Detail
-
GZIP_HANDLER_ETAGS
public static final java.lang.String GZIP_HANDLER_ETAGS
- See Also:
- Constant Field Values
-
GZIP
public static final java.lang.String GZIP
- See Also:
- Constant Field Values
-
DEFLATE
public static final java.lang.String DEFLATE
- See Also:
- Constant Field Values
-
DEFAULT_MIN_GZIP_SIZE
public static final int DEFAULT_MIN_GZIP_SIZE
- See Also:
- Constant Field Values
-
BREAK_EVEN_GZIP_SIZE
public static final int BREAK_EVEN_GZIP_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
addExcludedAgentPatterns
public void addExcludedAgentPatterns(java.lang.String... patterns)
Add excluded to the User-Agent filtering.- Parameters:
patterns- Regular expressions matching user agents to exclude- See Also:
addIncludedAgentPatterns(String...)
-
addExcludedMethods
public void addExcludedMethods(java.lang.String... methods)
Add excluded to the HTTP methods filtering.- Parameters:
methods- The methods to exclude in compression- See Also:
addIncludedMethods(String...)
-
getDispatcherTypes
public java.util.EnumSet<javax.servlet.DispatcherType> getDispatcherTypes()
Get the Set ofDispatcherTypethat this Filter will operate on.- Returns:
- the set of
DispatcherTypethis filter will operate on
-
setDispatcherTypes
public void setDispatcherTypes(java.util.EnumSet<javax.servlet.DispatcherType> dispatchers)
Set of supportedDispatcherTypethat this filter will operate on.- Parameters:
dispatchers- the set ofDispatcherTypethat this filter will operate on
-
setDispatcherTypes
public void setDispatcherTypes(javax.servlet.DispatcherType... dispatchers)
Set the list of supportedDispatcherTypethat this filter will operate on.- Parameters:
dispatchers- the list ofDispatcherTypethat this filter will operate on
-
addExcludedMimeTypes
public void addExcludedMimeTypes(java.lang.String... types)
Adds excluded MIME types for response filtering.Deprecation Warning: For backward compatibility the MIME types parameters may be comma separated strings, but this will not be supported in future versions of Jetty.
- Parameters:
types- The mime types to exclude (without charset or other parameters).- See Also:
addIncludedMimeTypes(String...)
-
addExcludedPaths
public void addExcludedPaths(java.lang.String... pathspecs)
Adds excluded Path Specs for request filtering.There are 2 syntaxes supported, Servlet
url-patternbased, and Regex based. This means that the initial characters on the path spec line are very strict, and determine the behavior of the path matching.- If the spec starts with
'^'the spec is assumed to be a regex based path spec and will match with normal Java regex rules. - If the spec starts with
'/'then spec is assumed to be a Servlet url-pattern rules path spec for either an exact match or prefix based match. - If the spec starts with
'*.'then spec is assumed to be a Servlet url-pattern rules path spec for a suffix based match. - All other syntaxes are unsupported
Note: inclusion takes precedence over exclude.
- Parameters:
pathspecs- Path specs (as per servlet spec) to exclude. If a ServletContext is available, the paths are relative to the context path, otherwise they are absolute.
For backward compatibility the pathspecs may be comma separated strings, but this will not be supported in future versions.- See Also:
addIncludedPaths(String...)
- If the spec starts with
-
addIncludedAgentPatterns
public void addIncludedAgentPatterns(java.lang.String... patterns)
Adds included User-Agents for filtering.- Parameters:
patterns- Regular expressions matching user agents to include- See Also:
addExcludedAgentPatterns(String...)
-
addIncludedMethods
public void addIncludedMethods(java.lang.String... methods)
Adds included HTTP Methods (eg: POST, PATCH, DELETE) for filtering.- Parameters:
methods- The HTTP methods to include in compression.- See Also:
addExcludedMethods(String...)
-
isSyncFlush
public boolean isSyncFlush()
Is theDeflaterrunningDeflater.SYNC_FLUSHor not.- Returns:
- True if
Deflater.SYNC_FLUSHis used, elseDeflater.NO_FLUSH - See Also:
setSyncFlush(boolean)
-
setSyncFlush
public void setSyncFlush(boolean syncFlush)
Set theDeflaterflush mode to use.Deflater.SYNC_FLUSHshould be used if the application wishes to stream the data, but this may hurt compression performance.- Parameters:
syncFlush- True ifDeflater.SYNC_FLUSHis used, elseDeflater.NO_FLUSH- See Also:
isSyncFlush()
-
addIncludedMimeTypes
public void addIncludedMimeTypes(java.lang.String... types)
Add included MIME types for response filtering- Parameters:
types- The mime types to include (without charset or other parameters) For backward compatibility the mimetypes may be comma separated strings, but this will not be supported in future versions.- See Also:
addExcludedMimeTypes(String...)
-
addIncludedPaths
public void addIncludedPaths(java.lang.String... pathspecs)
Add included Path Specs for filtering.There are 2 syntaxes supported, Servlet
url-patternbased, and Regex based. This means that the initial characters on the path spec line are very strict, and determine the behavior of the path matching.- If the spec starts with
'^'the spec is assumed to be a regex based path spec and will match with normal Java regex rules. - If the spec starts with
'/'then spec is assumed to be a Servlet url-pattern rules path spec for either an exact match or prefix based match. - If the spec starts with
'*.'then spec is assumed to be a Servlet url-pattern rules path spec for a suffix based match. - All other syntaxes are unsupported
Note: inclusion takes precedence over exclusion.
- Parameters:
pathspecs- Path specs (as per servlet spec) to include. If a ServletContext is available, the paths are relative to the context path, otherwise they are absolute
- If the spec starts with
-
doStart
protected void doStart() throws java.lang.ExceptionDescription copied from class:ContainerLifeCycleStarts the managed lifecycle beans in the order they were added.- Overrides:
doStartin classAbstractHandler- Throws:
java.lang.Exception
-
getCheckGzExists
@Deprecated public boolean getCheckGzExists()
Deprecated.feature will be removed in Jetty 10.x, with no replacement.
-
getCompressionLevel
public int getCompressionLevel()
-
getDeflater
public java.util.zip.Deflater getDeflater(Request request, long contentLength)
- Specified by:
getDeflaterin interfaceGzipFactory
-
getExcludedAgentPatterns
public java.lang.String[] getExcludedAgentPatterns()
Get the current filter list of excluded User-Agent patterns- Returns:
- the filter list of excluded User-Agent patterns
- See Also:
getIncludedAgentPatterns()
-
getExcludedMethods
public java.lang.String[] getExcludedMethods()
Get the current filter list of excluded HTTP methods- Returns:
- the filter list of excluded HTTP methods
- See Also:
getIncludedMethods()
-
getExcludedMimeTypes
public java.lang.String[] getExcludedMimeTypes()
Get the current filter list of excluded MIME types- Returns:
- the filter list of excluded MIME types
- See Also:
getIncludedMimeTypes()
-
getExcludedPaths
public java.lang.String[] getExcludedPaths()
Get the current filter list of excluded Path Specs- Returns:
- the filter list of excluded Path Specs
- See Also:
getIncludedPaths()
-
getIncludedAgentPatterns
public java.lang.String[] getIncludedAgentPatterns()
Get the current filter list of included User-Agent patterns- Returns:
- the filter list of included User-Agent patterns
- See Also:
getExcludedAgentPatterns()
-
getIncludedMethods
public java.lang.String[] getIncludedMethods()
Get the current filter list of included HTTP Methods- Returns:
- the filter list of included HTTP methods
- See Also:
getExcludedMethods()
-
getIncludedMimeTypes
public java.lang.String[] getIncludedMimeTypes()
Get the current filter list of included MIME types- Returns:
- the filter list of included MIME types
- See Also:
getExcludedMimeTypes()
-
getIncludedPaths
public java.lang.String[] getIncludedPaths()
Get the current filter list of included Path Specs- Returns:
- the filter list of included Path Specs
- See Also:
getExcludedPaths()
-
getMethods
@Deprecated public java.lang.String[] getMethods()
Deprecated.usegetIncludedMethods()instead. (Will be removed in Jetty 10)Get the current filter list of included HTTP methods- Returns:
- the filter list of included HTTP methods
-
getMinGzipSize
public int getMinGzipSize()
Get the minimum size, in bytes, that a responseContent-Lengthmust be before compression will trigger.- Returns:
- minimum response size (in bytes) that triggers compression
- See Also:
setMinGzipSize(int)
-
getVaryField
protected HttpField getVaryField()
-
getInflateBufferSize
public int getInflateBufferSize()
Get the size (in bytes) of theInflaterbuffer used to inflate compressed requests.- Returns:
- size in bytes of the buffer, or 0 for no inflation.
-
setInflateBufferSize
public void setInflateBufferSize(int size)
Set the size (in bytes) of theInflaterbuffer used to inflate comrpessed requests.- Parameters:
size- size in bytes of the buffer, or 0 for no inflation.
-
handle
public void handle(java.lang.String target, Request baseRequest, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletExceptionDescription copied from interface:HandlerHandle a request.- Specified by:
handlein interfaceHandler- Overrides:
handlein classHandlerWrapper- Parameters:
target- The target of the request - either a URI or a name.baseRequest- The original unwrapped request object.request- The request either as theRequestobject or a wrapper of that request. Themethod can be used access the Request object if required.HttpConnection.getCurrentConnection().getHttpChannel().getRequest()response- The response as theResponseobject or a wrapper of that request. Themethod can be used access the Response object if required.HttpConnection.getCurrentConnection().getHttpChannel().getResponse()- Throws:
java.io.IOException- if unable to handle the request or response processingjavax.servlet.ServletException- if unable to handle the request or response due to underlying servlet issue
-
isAgentGzipable
protected boolean isAgentGzipable(java.lang.String ua)
Test if the provided User-Agent is allowed based on the User-Agent filters.- Parameters:
ua- the user agent- Returns:
- whether compressing is allowed for the given user agent
-
isMimeTypeGzipable
public boolean isMimeTypeGzipable(java.lang.String mimetype)
Test if the provided MIME type is allowed based on the MIME type filters.- Specified by:
isMimeTypeGzipablein interfaceGzipFactory- Parameters:
mimetype- the MIME type to test- Returns:
- true if allowed, false otherwise
-
isPathGzipable
protected boolean isPathGzipable(java.lang.String requestURI)
Test if the provided Request URI is allowed based on the Path Specs filters.- Parameters:
requestURI- the request uri- Returns:
- whether compressing is allowed for the given the path
-
recycle
public void recycle(java.util.zip.Deflater deflater)
- Specified by:
recyclein interfaceGzipFactory
-
setCheckGzExists
@Deprecated public void setCheckGzExists(boolean checkGzExists)
Deprecated.feature will be removed in Jetty 10.x, with no replacement.Set the Check if*.gzfile for the incoming file exists.- Parameters:
checkGzExists- whether to check if a static gz file exists for the resource that the DefaultServlet may serve as precompressed.
-
setCompressionLevel
public void setCompressionLevel(int compressionLevel)
Set the Compression level thatDeflateruses.- Parameters:
compressionLevel- The compression level to use to initializeDeflater.setLevel(int)- See Also:
Deflater.setLevel(int)
-
setExcludedAgentPatterns
public void setExcludedAgentPatterns(java.lang.String... patterns)
Set the excluded filter list of User-Agent patterns (replacing any previously set)- Parameters:
patterns- Regular expressions list matching user agents to exclude- See Also:
setIncludedAgentPatterns(String...)
-
setExcludedMethods
public void setExcludedMethods(java.lang.String... methods)
Set the excluded filter list of HTTP methods (replacing any previously set)- Parameters:
methods- the HTTP methods to exclude- See Also:
setIncludedMethods(String...)
-
setExcludedMimeTypes
public void setExcludedMimeTypes(java.lang.String... types)
Set the excluded filter list of MIME types (replacing any previously set)- Parameters:
types- The mime types to exclude (without charset or other parameters)- See Also:
setIncludedMimeTypes(String...)
-
setExcludedPaths
public void setExcludedPaths(java.lang.String... pathspecs)
Set the excluded filter list of Path specs (replacing any previously set)- Parameters:
pathspecs- Path specs (as per servlet spec) to exclude. If a ServletContext is available, the paths are relative to the context path, otherwise they are absolute.- See Also:
setIncludedPaths(String...)
-
setIncludedAgentPatterns
public void setIncludedAgentPatterns(java.lang.String... patterns)
Set the included filter list of User-Agent patterns (replacing any previously set)- Parameters:
patterns- Regular expressions matching user agents to include- See Also:
setExcludedAgentPatterns(String...)
-
setIncludedMethods
public void setIncludedMethods(java.lang.String... methods)
Set the included filter list of HTTP methods (replacing any previously set)- Parameters:
methods- The methods to include in compression- See Also:
setExcludedMethods(String...)
-
setIncludedMimeTypes
public void setIncludedMimeTypes(java.lang.String... types)
Set the included filter list of MIME types (replacing any previously set)- Parameters:
types- The mime types to include (without charset or other parameters)- See Also:
setExcludedMimeTypes(String...)
-
setIncludedPaths
public void setIncludedPaths(java.lang.String... pathspecs)
Set the included filter list of Path specs (replacing any previously set)- Parameters:
pathspecs- Path specs (as per servlet spec) to include. If a ServletContext is available, the paths are relative to the context path, otherwise they are absolute- See Also:
setExcludedPaths(String...)
-
setMinGzipSize
public void setMinGzipSize(int minGzipSize)
Set the minimum response size to trigger dynamic compression.Sizes below
BREAK_EVEN_GZIP_SIZEwill result a compressed response that is larger than the original data.- Parameters:
minGzipSize- minimum response size in bytes (not allowed to be lower thenBREAK_EVEN_GZIP_SIZE)
-
setIncludedMethodList
public void setIncludedMethodList(java.lang.String csvMethods)
Set the included filter list of HTTP Methods (replacing any previously set)- Parameters:
csvMethods- the list of methods, CSV format- See Also:
setExcludedMethodList(String)
-
getIncludedMethodList
public java.lang.String getIncludedMethodList()
Get the included filter list of HTTP methods in CSV format- Returns:
- the included filter list of HTTP methods in CSV format
- See Also:
getExcludedMethodList()
-
setExcludedMethodList
public void setExcludedMethodList(java.lang.String csvMethods)
Set the excluded filter list of HTTP Methods (replacing any previously set)- Parameters:
csvMethods- the list of methods, CSV format- See Also:
setIncludedMethodList(String)
-
getExcludedMethodList
public java.lang.String getExcludedMethodList()
Get the excluded filter list of HTTP methods in CSV format- Returns:
- the excluded filter list of HTTP methods in CSV format
- See Also:
getIncludedMethodList()
-
getDeflaterPoolCapacity
public int getDeflaterPoolCapacity()
Gets the maximum number of Deflaters that the DeflaterPool can hold.- Returns:
- the Deflater pool capacity
-
setDeflaterPoolCapacity
public void setDeflaterPoolCapacity(int capacity)
Sets the maximum number of Deflaters that the DeflaterPool can hold.
-
newDeflaterPool
protected DeflaterPool newDeflaterPool(int capacity)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractLifeCycle
-
-