Package org.eclipse.jetty.server.handler
Class SizeLimitHandler.LimitInterceptor
- java.lang.Object
-
- org.eclipse.jetty.server.handler.SizeLimitHandler.LimitInterceptor
-
- All Implemented Interfaces:
HttpInput.Interceptor
,HttpOutput.Interceptor
- Enclosing class:
- SizeLimitHandler
private class SizeLimitHandler.LimitInterceptor extends java.lang.Object implements HttpOutput.Interceptor, HttpInput.Interceptor
-
-
Field Summary
Fields Modifier and Type Field Description private HttpOutput.Interceptor
_nextOutput
(package private) long
_read
(package private) long
_written
-
Constructor Summary
Constructors Constructor Description LimitInterceptor(HttpOutput.Interceptor nextOutput)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpOutput.Interceptor
getNextInterceptor()
boolean
isOptimizedForDirectBuffers()
HttpInput.Content
readFrom(HttpInput.Content content)
void
resetBuffer()
Reset the buffers.void
write(java.nio.ByteBuffer content, boolean last, Callback callback)
Write content.
-
-
-
Field Detail
-
_nextOutput
private final HttpOutput.Interceptor _nextOutput
-
_read
long _read
-
_written
long _written
-
-
Constructor Detail
-
LimitInterceptor
public LimitInterceptor(HttpOutput.Interceptor nextOutput)
-
-
Method Detail
-
getNextInterceptor
public HttpOutput.Interceptor getNextInterceptor()
- Specified by:
getNextInterceptor
in interfaceHttpOutput.Interceptor
- Returns:
- The next Interceptor in the chain or null if this is the last Interceptor in the chain.
-
isOptimizedForDirectBuffers
public boolean isOptimizedForDirectBuffers()
- Specified by:
isOptimizedForDirectBuffers
in interfaceHttpOutput.Interceptor
- Returns:
- True if the Interceptor is optimized to receive direct
ByteBuffer
s in theHttpOutput.Interceptor.write(ByteBuffer, boolean, Callback)
method. If false is returned, then passing direct buffers may cause inefficiencies.
-
readFrom
public HttpInput.Content readFrom(HttpInput.Content content)
- Specified by:
readFrom
in interfaceHttpInput.Interceptor
- Parameters:
content
- The content to be intercepted (may be empty or aHttpInput.SentinelContent
. The content will be modified with any data the interceptor consumes, but there is no requirement that all the data is consumed by the interceptor.- Returns:
- The intercepted content or null if interception is completed for that content.
-
write
public void write(java.nio.ByteBuffer content, boolean last, Callback callback)
Description copied from interface:HttpOutput.Interceptor
Write content. The response is committed by the first call to write and is closed by a call with last == true. Empty content buffers may be passed to force a commit or close.- Specified by:
write
in interfaceHttpOutput.Interceptor
- Parameters:
content
- The content to be written or an empty buffer.last
- True if this is the last call to writecallback
- The callback to use to indicateCallback.succeeded()
orCallback.failed(Throwable)
.
-
resetBuffer
public void resetBuffer()
Description copied from interface:HttpOutput.Interceptor
Reset the buffers.If the Interceptor contains buffers then reset them.
- Specified by:
resetBuffer
in interfaceHttpOutput.Interceptor
-
-