public class HttpServerFilter extends HttpCodecFilter
HttpCodecFilter implementation, which is responsible for
decoding HttpRequestPacket and encoding HttpResponsePacket messages.
This Filter is usually used, when we build an asynchronous HTTP server
connection.HttpCodecFilter,
HttpClientFilterHttpCodecFilter.ContentParsingState, HttpCodecFilter.HeaderParsingState| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
HTTP_SERVER_REQUEST_ATTR_NAME |
static FilterChainEvent |
RESPONSE_COMPLETE_EVENT |
chunkingEnabled, contentEncodings, DEFAULT_MAX_HTTP_PACKET_HEADER_SIZE, FLUSH_AND_CLOSE_HANDLER, maxHeadersSize, monitoringConfig| Constructor and Description |
|---|
HttpServerFilter()
Deprecated.
Next major release will include builders for filters requiring configuration. Constructors will be hidden.
|
HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
KeepAlive keepAlive,
DelayedExecutor executor)
Deprecated.
Next major release will include builders for filters requiring configuration. Constructors will be hidden.
|
HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
java.lang.String defaultResponseContentType,
KeepAlive keepAlive,
DelayedExecutor executor)
Deprecated.
Next major release will include builders for filters requiring configuration. Constructors will be hidden.
|
HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
java.lang.String defaultResponseContentType,
KeepAlive keepAlive,
DelayedExecutor executor,
int maxRequestHeaders,
int maxResponseHeaders)
Deprecated.
Next major release will include builders for filters requiring configuration. Constructors will be hidden.
|
| Modifier and Type | Method and Description |
|---|---|
protected HttpContent |
customizeErrorResponse(HttpResponsePacket response) |
protected Buffer |
encodeHttpPacket(FilterChainContext ctx,
HttpPacket input) |
java.lang.String |
getDefaultResponseContentType() |
NextAction |
handleEvent(FilterChainContext ctx,
FilterChainEvent event) |
NextAction |
handleRead(FilterChainContext ctx)
The method is called, once we have received a
Buffer,
which has to be transformed into HTTP request packet part. |
protected void |
onHttpContentEncoded(HttpContent content,
FilterChainContext ctx)
Invoked when a HTTP body chunk has been encoded in preparation to being
transmitted to the user-agent.
|
protected void |
onHttpContentError(HttpHeader httpHeader,
FilterChainContext ctx,
java.lang.Throwable t)
Callback which is invoked when parsing an HTTP message payload fails.
|
protected void |
onHttpContentParsed(HttpContent content,
FilterChainContext ctx)
Invoked as request/response body content has been processed by this
Filter. |
protected void |
onHttpHeaderError(HttpHeader httpHeader,
FilterChainContext ctx,
java.lang.Throwable t)
Callback which is invoked when parsing an HTTP message header fails.
|
protected boolean |
onHttpHeaderParsed(HttpHeader httpHeader,
Buffer buffer,
FilterChainContext ctx)
Callback invoked when the HTTP message header parsing is complete.
|
protected void |
onHttpHeadersEncoded(HttpHeader httpHeader,
FilterChainContext ctx)
Invoked when HTTP headers have been encoded in preparation to being
transmitted to the user-agent.
|
protected void |
onHttpHeadersParsed(HttpHeader httpHeader,
FilterChainContext ctx)
Invoked when all headers of the packet have been parsed.
|
protected boolean |
onHttpPacketParsed(HttpHeader httpHeader,
FilterChainContext ctx)
Callback method, called when
HttpPacket parsing has been completed. |
protected void |
onInitialLineEncoded(HttpHeader header,
FilterChainContext ctx)
Invoked when the intial response line has been encoded in preparation
to being transmitted to the user-agent.
|
protected void |
onInitialLineParsed(HttpHeader httpHeader,
FilterChainContext ctx)
Invoked when either the request line or status line has been parsed.
|
void |
prepareForShutdown()
Method, which might be optionally called to prepare the filter for
shutdown.
|
void |
setDefaultResponseContentType(java.lang.String contentType) |
addContentEncoding, addTransferEncoding, createJmxManagementObject, decodeHttpPacket, decodeHttpPacketFromBuffer, decodeHttpPacketFromBytes, encodeHttpPacket, encodeKnownHeaders, encodeMimeHeader, encodeMimeHeaders, flushAndClose, getContentEncodings, getMonitoringConfig, getTransferEncodings, gracefullyCloseConnection, handleRead, handleWrite, isChunkingEnabled, isSecure, parseHeaderFromBuffer, parseHeaderFromBytes, parseHeaderName, parseHeaderName, parseHeadersFromBuffer, parseHeadersFromBytes, parseHeaderValue, parseHeaderValue, removeContentEncoding, removeTransferEncodingbindcreateContext, exceptionOccurred, handleAccept, handleClose, handleConnect, onAdded, onFilterChainChanged, onRemovedpublic static final java.lang.String HTTP_SERVER_REQUEST_ATTR_NAME
public static final FilterChainEvent RESPONSE_COMPLETE_EVENT
@Deprecated public HttpServerFilter()
@Deprecated
public HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
KeepAlive keepAlive,
DelayedExecutor executor)
chunkingEnabled - flag indicating whether or not chunking should
be allowed or not.maxHeadersSize - the maximum size of an inbound HTTP message header.keepAlive - keep-alive configuration for this filter instance.executor - DelayedExecutor for handling keep-alive.@Deprecated
public HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
java.lang.String defaultResponseContentType,
KeepAlive keepAlive,
DelayedExecutor executor)
chunkingEnabled - flag indicating whether or not chunking should
be allowed or not.maxHeadersSize - the maximum size of an inbound HTTP message header.defaultResponseContentType - the content type that the response should
use if no content had been specified at the time the response is committed.keepAlive - keep-alive configuration for this filter instance.executor - DelayedExecutor for handling keep-alive. If null -
keep-alive idle connections should be managed outside HttpServerFilter.@Deprecated
public HttpServerFilter(boolean chunkingEnabled,
int maxHeadersSize,
java.lang.String defaultResponseContentType,
KeepAlive keepAlive,
DelayedExecutor executor,
int maxRequestHeaders,
int maxResponseHeaders)
chunkingEnabled - flag indicating whether or not chunking should
be allowed or not.maxHeadersSize - the maximum size of an inbound HTTP message header.defaultResponseContentType - the content type that the response should
use if no content had been specified at the time the response is committed.keepAlive - keep-alive configuration for this filter instance.executor - DelayedExecutor for handling keep-alive. If null -
keep-alive idle connections should be managed outside HttpServerFilter.maxRequestHeaders - maximum number of request headers allowed for a single request.maxResponseHeaders - maximum number of response headers allowed for a single response.public java.lang.String getDefaultResponseContentType()
public final void setDefaultResponseContentType(java.lang.String contentType)
public NextAction handleRead(FilterChainContext ctx) throws java.io.IOException
Buffer,
which has to be transformed into HTTP request packet part.
Filter gets Buffer, which represents a part or complete HTTP
request message. As the result of "read" transformation - we will get
HttpContent message, which will represent HTTP request packet
content (might be zero length content) and reference
to a HttpHeader, which contains HTTP request message header.handleRead in interface FilterhandleRead in class BaseFilterctx - Request processing contextNextActionjava.io.IOExceptionprotected boolean onHttpHeaderParsed(HttpHeader httpHeader, Buffer buffer, FilterChainContext ctx)
HttpCodecFilteronHttpHeaderParsed in class HttpCodecFilterhttpHeader - HttpHeader, which represents parsed HTTP packet headerbuffer - Buffer the header was parsed fromctx - processing context.true if an error has occurred while processing
the header portion of the HTTP request, otherwise returns
false.protected final boolean onHttpPacketParsed(HttpHeader httpHeader, FilterChainContext ctx)
HttpCodecFilterHttpPacket parsing has been completed.onHttpPacketParsed in class HttpCodecFilterhttpHeader - HttpHeader, which represents parsed HTTP packet headerctx - processing context.true if an error has occurred while processing
the header portion of the HTTP request, otherwise returns
false.sprotected void onInitialLineParsed(HttpHeader httpHeader, FilterChainContext ctx)
HttpCodecFilterInvoked when either the request line or status line has been parsed.
onInitialLineParsed in class HttpCodecFilterhttpHeader - HttpHeader, which represents HTTP packet headerctx - processing context.protected void onHttpHeadersParsed(HttpHeader httpHeader, FilterChainContext ctx)
HttpCodecFilterInvoked when all headers of the packet have been parsed. Depending on the transfer encoding being used by the current request, this method may be invoked multiple times.
onHttpHeadersParsed in class HttpCodecFilterhttpHeader - HttpHeader, which represents HTTP packet headerctx - processing context.protected void onHttpContentParsed(HttpContent content, FilterChainContext ctx)
HttpCodecFilter
Invoked as request/response body content has been processed by this
Filter.
onHttpContentParsed in class HttpCodecFiltercontent - request/response body contentctx - processing context.protected void onHttpHeaderError(HttpHeader httpHeader, FilterChainContext ctx, java.lang.Throwable t) throws java.io.IOException
HttpCodecFilterCallback which is invoked when parsing an HTTP message header fails. The processing logic has to take care about error handling and following connection closing.
onHttpHeaderError in class HttpCodecFilterhttpHeader - HttpHeader, which represents HTTP packet headerctx - the FilterChainContext processing this requestt - the cause of the errorjava.io.IOExceptionprotected void onHttpContentError(HttpHeader httpHeader, FilterChainContext ctx, java.lang.Throwable t) throws java.io.IOException
HttpCodecFilterCallback which is invoked when parsing an HTTP message payload fails. The processing logic has to take care about error handling and following connection closing.
onHttpContentError in class HttpCodecFilterhttpHeader - HttpHeader, which represents HTTP packet headerctx - the FilterChainContext processing this requestt - the cause of the errorjava.io.IOExceptionprotected Buffer encodeHttpPacket(FilterChainContext ctx, HttpPacket input)
encodeHttpPacket in class HttpCodecFilterprotected void onInitialLineEncoded(HttpHeader header, FilterChainContext ctx)
HttpCodecFilterInvoked when the intial response line has been encoded in preparation to being transmitted to the user-agent.
onInitialLineEncoded in class HttpCodecFilterheader - HttpHeader, which represents HTTP packet headerctx - processing context.protected void onHttpHeadersEncoded(HttpHeader httpHeader, FilterChainContext ctx)
HttpCodecFilterInvoked when HTTP headers have been encoded in preparation to being transmitted to the user-agent.
onHttpHeadersEncoded in class HttpCodecFilterhttpHeader - HttpHeader, which represents HTTP packet headerctx - processing context.protected void onHttpContentEncoded(HttpContent content, FilterChainContext ctx)
HttpCodecFilterInvoked when a HTTP body chunk has been encoded in preparation to being transmitted to the user-agent.
onHttpContentEncoded in class HttpCodecFiltercontent - HttpContent, which represents HTTP packet headerctx - processing context.public NextAction handleEvent(FilterChainContext ctx, FilterChainEvent event) throws java.io.IOException
handleEvent in interface FilterhandleEvent in class BaseFilterjava.io.IOExceptionprotected HttpContent customizeErrorResponse(HttpResponsePacket response)
public void prepareForShutdown()
prepareForShutdown in class HttpCodecFilterCopyright © 2013 Oracle Corporation. All Rights Reserved.