boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
boolean checkIfHttp2StreamChain(final FilterChainContext ctx) throws IOException { final Object message = ctx.getMessage(); if (message == null) { // If message == null - it means it's initiated by blocking ctx.read() call // we have to check Http2Stream associated input queue if there are any data we can return // otherwise block until input data is available final Http2Stream http2Stream = (Http2Stream) HttpContext.get(ctx).getContextStorage(); ctx.setMessage(http2Stream.pollInputData()); return true; } final HttpContent httpContent = (HttpContent) message; final HttpHeader httpHeader = httpContent.getHttpHeader(); // if the stream is assigned - it means we process HTTP/2.0 request // in the upstream (HTTP2 stream chain) return Http2Stream.getStreamFor(httpHeader) != null; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
public void initialize(final Request request, final HttpResponsePacket response, final FilterChainContext ctx, final DelayedExecutor.DelayQueue<SuspendTimeout> delayQueue, final HttpServerFilter serverFilter) { this.request = request; this.response = response; sendFileEnabled = ((serverFilter != null) && serverFilter.getConfiguration().isSendFileEnabled()); outputBuffer.initialize(this, ctx); this.ctx = ctx; this.httpContext = HttpContext.get(ctx); this.delayQueue = delayQueue; }
private void sendMoreDataRequestIfNeeded(final FilterChainContext ctx) throws IOException { final Connection connection = ctx.getConnection(); final HttpContext context = HttpContext.get(ctx); // Check if message is still in process if (httpRequestInProcessAttr.isSet(context)) { final MemoryManager mm = connection.getTransport().getMemoryManager(); final Buffer buffer = mm.allocate(7); buffer.put((byte) 'A'); buffer.put((byte) 'B'); buffer.putShort((short) 3); buffer.put(AjpConstants.JK_AJP13_GET_BODY_CHUNK); buffer.putShort(AjpConstants.SUGGESTED_MAX_PAYLOAD_SIZE); buffer.flip(); buffer.allowBufferDispose(true); ctx.write(buffer); } }
private void sendMoreDataRequestIfNeeded(final FilterChainContext ctx) throws IOException { final Connection connection = ctx.getConnection(); final HttpContext context = HttpContext.get(ctx); // Check if message is still in process if (httpRequestInProcessAttr.isSet(context)) { final MemoryManager mm = connection.getTransport().getMemoryManager(); final Buffer buffer = mm.allocate(7); buffer.put((byte) 'A'); buffer.put((byte) 'B'); buffer.putShort((short) 3); buffer.put(AjpConstants.JK_AJP13_GET_BODY_CHUNK); buffer.putShort(AjpConstants.SUGGESTED_MAX_PAYLOAD_SIZE); buffer.flip(); buffer.allowBufferDispose(true); ctx.write(buffer); } }