private HttpServerFilter createHttpServerFilter(ServerAddress serverAddress, int connectionIdleTimeout, boolean usePersistentConnections) { KeepAlive ka = null; if (usePersistentConnections) { ka = new KeepAlive(); ka.setMaxRequestsCount(MAX_KEEP_ALIVE_REQUESTS); ka.setIdleTimeoutInSeconds((int) MILLISECONDS.toSeconds(connectionIdleTimeout)); } IdleExecutor idleExecutor = new IdleExecutor(idleTimeoutExecutorService); idleExecutorPerServerAddressMap.put(serverAddress, idleExecutor); HttpServerFilter httpServerFilter = new HttpServerFilter(true, retrieveMaximumHeaderSectionSize(), ka, idleExecutor.getIdleTimeoutDelayedExecutor()); httpServerFilter.getMonitoringConfig().addProbes(new HttpMessageLogger(LISTENER, currentThread().getContextClassLoader())); httpServerFilter.setAllowPayloadForUndefinedHttpMethods(true); return httpServerFilter; }
protected org.glassfish.grizzly.http.HttpServerFilter createHttpServerCodecFilter( final Http http, final boolean isChunkedEnabled, final int headerBufferLengthBytes, final String defaultResponseType, final KeepAlive keepAlive, final DelayedExecutor delayedExecutor, final int maxRequestHeaders, final int maxResponseHeaders) { final org.glassfish.grizzly.http.HttpServerFilter httpCodecFilter = new org.glassfish.grizzly.http.HttpServerFilter( isChunkedEnabled, headerBufferLengthBytes, defaultResponseType, keepAlive, delayedExecutor, maxRequestHeaders, maxResponseHeaders); if (http != null) { // could be null for HTTP redirect httpCodecFilter.setMaxPayloadRemainderToSkip( Integer.parseInt(http.getMaxSwallowingInputBytes())); httpCodecFilter.setAllowPayloadForUndefinedHttpMethods( Boolean.parseBoolean(http.getAllowPayloadForUndefinedHttpMethods())); } return httpCodecFilter; }
private void sendBadRequestResponse(final FilterChainContext ctx, final HttpResponsePacket response) { if (response.getHttpStatus().getStatusCode() < 400) { // 400 - Bad request HttpStatus.BAD_REQUEST_400.setValues(response); } commitAndCloseAsError(ctx, response); }
private void commitAndCloseAsError(FilterChainContext ctx, HttpResponsePacket response) { final HttpContent errorHttpResponse = customizeErrorResponse(response); final Buffer resBuf = encodeHttpPacket(ctx, errorHttpResponse); ctx.write(resBuf); response.getProcessingState().getHttpContext().close(); }
new org.glassfish.grizzly.http.HttpServerFilter(listener.isChunkingEnabled(), maxHeaderSize, null, configureCompressionEncodings(listener); for (ContentEncoding contentEncoding : contentEncodings) { httpServerCodecFilter.addContentEncoding(contentEncoding); httpServerCodecFilter.setAllowPayloadForUndefinedHttpMethods( serverConfig.isAllowPayloadForUndefinedHttpMethods()); httpServerCodecFilter.setMaxPayloadRemainderToSkip( serverConfig.getMaxPayloadRemainderToSkip()); httpServerCodecFilter.getMonitoringConfig().addProbes( serverConfig.getMonitoringConfig().getHttpConfig().getProbes()); builder.add(httpServerCodecFilter);
setContentEncodingsOnSerializing(response); encodedHttpContent = encodeContent(ctx.getConnection(), httpContent); setContentEncodingsOnSerializing(response); setTransferEncodingOnSerializing(ctx, response, httpContent); } else if (!checkKeepAliveRequestsCount(state.getHttpContext())) { && !statusDropsConnection(response.getStatus()));
checkContentLengthRemainder(httpRequest)) { onHttpPacketParsed(httpRequest, ctx);
@Override protected org.glassfish.grizzly.http.HttpServerFilter createHttpServerCodecFilter( final Http http, final boolean isChunkedEnabled, final int headerBufferLengthBytes, final String defaultResponseType, final KeepAlive keepAlive, final DelayedExecutor delayedExecutor, final int maxRequestHeaders, final int maxResponseHeaders) { final org.glassfish.grizzly.http.HttpServerFilter httpCodecFilter = new GlassfishHttpCodecFilter( http == null || Boolean.parseBoolean(http.getXpoweredBy()), isChunkedEnabled, headerBufferLengthBytes, defaultResponseType, keepAlive, delayedExecutor, maxRequestHeaders, maxResponseHeaders); if (http != null) { // could be null for HTTP redirect httpCodecFilter.setMaxPayloadRemainderToSkip( Integer.parseInt(http.getMaxSwallowingInputBytes())); httpCodecFilter.setAllowPayloadForUndefinedHttpMethods( Boolean.parseBoolean(http.getAllowPayloadForUndefinedHttpMethods())); } return httpCodecFilter; }
new org.glassfish.grizzly.http.HttpServerFilter( Boolean.parseBoolean(http.getChunkingEnabled()), Integer.parseInt(http.getHeaderBufferLengthBytes()), configureContentEncodings(http); for (ContentEncoding contentEncoding : contentEncodings) { httpServerFilter.addContentEncoding(contentEncoding);
serverFilterChainBuilder.add(new HttpServerFilter());
configureContentEncodings(http); for (ContentEncoding contentEncoding : contentEncodings) { httpServerFilter.addContentEncoding(contentEncoding);
new org.glassfish.grizzly.http.HttpServerFilter(listener.isChunkingEnabled(), maxHeaderSize, null, configureCompressionEncodings(listener); for (ContentEncoding contentEncoding : contentEncodings) { httpServerCodecFilter.addContentEncoding(contentEncoding); httpServerCodecFilter.setAllowPayloadForUndefinedHttpMethods( serverConfig.isAllowPayloadForUndefinedHttpMethods()); httpServerCodecFilter.setMaxPayloadRemainderToSkip( serverConfig.getMaxPayloadRemainderToSkip()); httpServerCodecFilter.getMonitoringConfig().addProbes( serverConfig.getMonitoringConfig().getHttpConfig().getProbes()); builder.add(httpServerCodecFilter);
setContentEncodingsOnSerializing(response); encodedHttpContent = encodeContent(ctx.getConnection(), httpContent); setContentEncodingsOnSerializing(response); setTransferEncodingOnSerializing(ctx, response, httpContent); } else if (!checkKeepAliveRequestsCount(state.getHttpContext())) { && !statusDropsConnection(response.getStatus()));
private void commitAndCloseAsError(FilterChainContext ctx, HttpResponsePacket response) { final HttpContent errorHttpResponse = customizeErrorResponse(response); final Buffer resBuf = encodeHttpPacket(ctx, errorHttpResponse); ctx.write(resBuf); response.getProcessingState().getHttpContext().close(); }
checkContentLengthRemainder(httpRequest)) { onHttpPacketParsed(httpRequest, ctx);
filterChainBuilder.add(new org.glassfish.grizzly.http.HttpServerFilter()); final HttpRedirectFilter filter = new HttpRedirectFilter(); filter.configure(habitat, networkListener, protocol.getHttpRedirect());
new org.glassfish.grizzly.http.HttpServerFilter(listener.isChunkingEnabled(), maxHeaderSize, null, configureCompressionEncodings(listener); for (ContentEncoding contentEncoding : contentEncodings) { httpServerCodecFilter.addContentEncoding(contentEncoding); httpServerCodecFilter.setAllowPayloadForUndefinedHttpMethods( serverConfig.isAllowPayloadForUndefinedHttpMethods()); httpServerCodecFilter.setMaxPayloadRemainderToSkip( serverConfig.getMaxPayloadRemainderToSkip()); httpServerCodecFilter.getMonitoringConfig().addProbes( serverConfig.getMonitoringConfig().getHttpConfig().getProbes()); builder.add(httpServerCodecFilter);
setContentEncodingsOnSerializing(response); encodedHttpContent = encodeContent(ctx.getConnection(), httpContent); setContentEncodingsOnSerializing(response); setTransferEncodingOnSerializing(ctx, response, httpContent); } else if (!checkKeepAliveRequestsCount(state.getHttpContext())) { && !statusDropsConnection(response.getStatus()));
private HttpServerFilter createHttpServerFilter(boolean usePersistentConnections, int connectionIdleTimeout) { KeepAlive ka = null; if (usePersistentConnections) { ka = new KeepAlive(); ka.setMaxRequestsCount(MAX_KEEP_ALIVE_REQUESTS); ka.setIdleTimeoutInSeconds(convertToSeconds(connectionIdleTimeout)); } HttpServerFilter httpServerFilter = new HttpServerFilter(true, retrieveMaximumHeaderSectionSize(), ka, idleTimeoutDelayedExecutor); httpServerFilter.getMonitoringConfig().addProbes(new HttpMessageLogger(LISTENER)); httpServerFilter.setAllowPayloadForUndefinedHttpMethods(true); return httpServerFilter; }
private void commitAndCloseAsError(FilterChainContext ctx, HttpResponsePacket response) { final HttpContent errorHttpResponse = customizeErrorResponse(response); final Buffer resBuf = encodeHttpPacket(ctx, errorHttpResponse); ctx.write(resBuf); response.getProcessingState().getHttpContext().close(); }