Package org.eclipse.jetty.server
Interface HttpOutput.Interceptor
- 
- All Known Subinterfaces:
 BufferedResponseHandler.BufferedInterceptor
- All Known Implementing Classes:
 GzipHttpOutputInterceptor,HTTP2ServerConnection.ServerHttpChannelOverHTTP2,HttpChannel,HttpChannelOverFCGI,HttpChannelOverHttp,HttpChannelOverHTTP2
- Enclosing class:
 - HttpOutput
 
public static interface HttpOutput.InterceptorThe HttpOutput.Interceptor is a single intercept point for all output written to the HttpOutput: via writer; via output stream; asynchronously; or blocking.The Interceptor can be used to implement translations (eg Gzip) or additional buffering that acts on all output. Interceptors are created in a chain, so that multiple concerns may intercept.
The
HttpChannelis anHttpOutput.Interceptorand is always the last link in any Interceptor chain.Responses are committed by the first call to
write(ByteBuffer, boolean, Callback)and closed by a call towrite(ByteBuffer, boolean, Callback)with the last boolean set true. If no content is available to commit or close, then a null buffer is passed. 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description HttpOutput.InterceptorgetNextInterceptor()booleanisOptimizedForDirectBuffers()default voidresetBuffer()Reset the buffers.voidwrite(java.nio.ByteBuffer content, boolean last, Callback callback)Write content. 
 - 
 
- 
- 
Method Detail
- 
write
void write(java.nio.ByteBuffer content, boolean last, Callback callback)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.- 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).
 
- 
getNextInterceptor
HttpOutput.Interceptor getNextInterceptor()
- Returns:
 - The next Interceptor in the chain or null if this is the last Interceptor in the chain.
 
 
- 
isOptimizedForDirectBuffers
boolean isOptimizedForDirectBuffers()
- Returns:
 - True if the Interceptor is optimized to receive direct
 
ByteBuffers in thewrite(ByteBuffer, boolean, Callback)method. If false is returned, then passing direct buffers may cause inefficiencies. 
 
- 
resetBuffer
default void resetBuffer() throws java.lang.IllegalStateExceptionReset the buffers.If the Interceptor contains buffers then reset them.
- Throws:
 java.lang.IllegalStateException- Thrown if the response has been committed and buffers and/or headers cannot be reset.
 
 - 
 
 -