private static void addExpiresHeader(HttpSession session, long time) { session.setWriteHeader("Expires", RFC822_FORMAT_PATTERN.format(time)); }
public static void addLastModifiedHeader(HttpSession session, File requestFile) { long lastModified = requestFile.lastModified(); session.setWriteHeader("Last-Modified", RFC822_FORMAT_PATTERN.format(lastModified)); }
private static final void addCacheControlHeader(HttpSession session, File requestFile, CacheControlHandler cacheControlHandler) { cacheControlHandler.resetState(); session.setWriteHeader("Cache-Control", cacheControlHandler.getCacheControlHeader()); addExpiresHeader(session, cacheControlHandler.getExpiresHeader()); }
acceptSession.setWriteHeader(HEADER_CONNECTION, HEADER_UPGRADE);
@Override protected void doFilterWrite(NextFilter nextFilter, HttpSession session, WriteRequest writeRequest) throws Exception { // GL.debug("http", getClass().getSimpleName() + " filter write."); // note: this assumes the session is still not committed // but commitFuture is on HttpAcceptSession only, // so need to add to HttpConnectSession interface too // and then promote to HttpSession.getCommitFuture() String contentLengthHeader = session.getWriteHeader(HEADER_CONTENT_LENGTH); int contentLength = (contentLengthHeader != null) ? parseInt(contentLengthHeader) : 0; Object message = writeRequest.getMessage(); IoBuffer buf = (IoBuffer) message; int remaining = buf.remaining(); int newContentLength = contentLength + remaining; session.setWriteHeader(HEADER_CONTENT_LENGTH, valueOf(newContentLength)); // GL.debug("http", String.format(getClass().getSimpleName() + " reset content length header from %d to %d.", // contentLength, newContentLength)); // auto-remove after a single HttpRequestMessage or HttpResponseMessage IoFilterChain filterChain = session.getFilterChain(); filterChain.remove(this); super.doFilterWrite(nextFilter, session, writeRequest); }