public class HttpStaticFileServerHandler
extends io.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.FullHttpRequest>
'If-Modified-Since' header to
take advantage of browser cache, as described in
RFC 2616.
/file1.txt./file1.txt is cached by the browser./file1.txt does return the contents of the
file again. Rather, a 304 Not Modified is returned. This tells the
browser to use the contents stored in its cache.If-Modified-Since date is the same as the file's last
modified date.Request #1 Headers =================== GET /file1.txt HTTP/1.1 Response #1 Headers =================== HTTP/1.1 200 OK Date: Tue, 01 Mar 2011 22:44:26 GMT Last-Modified: Wed, 30 Jun 2010 21:36:48 GMT Expires: Tue, 01 Mar 2012 22:44:26 GMT Cache-Control: private, max-age=31536000 Request #2 Headers =================== GET /file1.txt HTTP/1.1 If-Modified-Since: Wed, 30 Jun 2010 21:36:48 GMT Response #2 Headers =================== HTTP/1.1 304 Not Modified Date: Tue, 01 Mar 2011 22:44:28 GMT
| Modifier and Type | Field and Description |
|---|---|
static io.netty.util.AttributeKey<java.lang.Object> |
ATTACHMENT |
static int |
HTTP_CACHE_SECONDS |
static java.lang.String |
HTTP_DATE_FORMAT |
static java.lang.String |
HTTP_DATE_GMT_TIMEZONE |
static java.lang.String |
SERVICED |
static java.lang.String |
STATIC_MAPPING |
| Constructor and Description |
|---|
HttpStaticFileServerHandler(java.util.List<java.lang.String> paths) |
| Modifier and Type | Method and Description |
|---|---|
void |
channelRead0(io.netty.channel.ChannelHandlerContext ctx,
io.netty.handler.codec.http.FullHttpRequest request) |
void |
exceptionCaught(io.netty.channel.ChannelHandlerContext ctx,
java.lang.Throwable t) |
protected java.lang.String |
sanitizeUri(java.lang.String uri) |
void |
sendError(io.netty.channel.ChannelHandlerContext ctx,
io.netty.handler.codec.http.HttpResponseStatus status,
io.netty.handler.codec.http.FullHttpRequest request) |
static void |
sendRedirect(io.netty.channel.ChannelHandlerContext ctx,
java.lang.String newUri) |
acceptInboundMessage, channelReadchannelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, userEventTriggeredensureNotSharable, handlerAdded, handlerRemoved, isSharablepublic static final java.lang.String HTTP_DATE_FORMAT
public static final java.lang.String HTTP_DATE_GMT_TIMEZONE
public static final int HTTP_CACHE_SECONDS
public static final io.netty.util.AttributeKey<java.lang.Object> ATTACHMENT
public static final java.lang.String STATIC_MAPPING
public static final java.lang.String SERVICED
public HttpStaticFileServerHandler(java.util.List<java.lang.String> paths)
public void channelRead0(io.netty.channel.ChannelHandlerContext ctx,
io.netty.handler.codec.http.FullHttpRequest request)
throws java.lang.Exception
channelRead0 in class io.netty.channel.SimpleChannelInboundHandler<io.netty.handler.codec.http.FullHttpRequest>java.lang.Exceptionpublic void exceptionCaught(io.netty.channel.ChannelHandlerContext ctx,
java.lang.Throwable t)
exceptionCaught in interface io.netty.channel.ChannelHandlerexceptionCaught in interface io.netty.channel.ChannelInboundHandlerexceptionCaught in class io.netty.channel.ChannelInboundHandlerAdapterprotected java.lang.String sanitizeUri(java.lang.String uri)
public static void sendRedirect(io.netty.channel.ChannelHandlerContext ctx,
java.lang.String newUri)
public void sendError(io.netty.channel.ChannelHandlerContext ctx,
io.netty.handler.codec.http.HttpResponseStatus status,
io.netty.handler.codec.http.FullHttpRequest request)
Copyright © 2018. All Rights Reserved.