@Override public ByteBuf content() { return delegate.content(); }
@Override public Headers trailingHeaders() { return delegate.trailingHeaders(); }
assertEquals("h2", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut1.hasBody()); assertFalse(bodyOut1.body() == null); assertFalse(bodyOut1.content() == null); assertEquals(body1, bodyOut1.content()); assertFalse(bodyOut1.endOfMessage()); assertEquals("h2", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut2.hasBody()); assertFalse(bodyOut2.body() == null); assertFalse(bodyOut2.content() == null); assertEquals(body2, bodyOut2.content()); assertFalse(bodyOut2.endOfMessage()); assertEquals("h2", trailersOut.version()); assertEquals(HttpResponseStatus.OK, trailersOut.status()); assertFalse(trailersOut.hasBody()); assertFalse(trailersOut.body() == null); assertEquals(0, trailersOut.body().readableBytes()); assertEquals(1, trailersOut.trailingHeaders().size()); assertEquals("bar", trailersOut.trailingHeaders().get("foo")); assertTrue(trailersOut.endOfMessage());
assertEquals("HTTP/1.1", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut1.hasBody()); assertFalse(bodyOut1.body() == null); assertFalse(bodyOut1.content() == null); assertEquals(body1, bodyOut1.content()); assertFalse(bodyOut1.endOfMessage()); assertEquals("HTTP/1.1", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut2.hasBody()); assertFalse(bodyOut2.body() == null); assertFalse(bodyOut2.content() == null); assertEquals(body2, bodyOut2.content()); assertTrue(bodyOut2.endOfMessage());
Response wrapResponse(ChannelHandlerContext ctx, HttpObject msg) { log.debug("wrapResponse msg={}", msg); final Response response; if (msg instanceof FullHttpResponse) { response = new FullHttp1Response((FullHttpResponse) msg); } else if (msg instanceof HttpResponse) { response = new SegmentedHttp1Response((HttpResponse) msg); } else if (msg instanceof HttpContent) { response = getProxyRequestQueue(ctx) .currentResponse() .map(r -> new SegmentedResponseData(r, new Http1SegmentedData((HttpContent) msg))) .orElse(null); } else { // TODO(CK): throw an exception if response is null? response = null; } return getProxyRequestQueue(ctx) .currentProxiedH2StreamId() .<Response>map( streamId -> { if (response instanceof SegmentedResponseData) { return new ProxySegmentedResponseData((SegmentedResponseData) response, streamId); } else { return new ProxyResponse(response, streamId); } }) .orElse(response); }
assertEquals("h2", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut1.hasBody()); assertFalse(bodyOut1.body() == null); assertFalse(bodyOut1.content() == null); assertEquals(body1, bodyOut1.content()); assertFalse(bodyOut1.endOfMessage()); assertEquals("h2", responseOut.version()); assertEquals(HttpResponseStatus.OK, responseOut.status()); assertFalse(bodyOut2.hasBody()); assertFalse(bodyOut2.body() == null); assertFalse(bodyOut2.content() == null); assertEquals(body2, bodyOut2.content()); assertTrue(bodyOut2.endOfMessage());
resp -> session.onInboundResponse( new SegmentedResponseData( resp, new Http2SegmentedData(headers, streamId)))) .orElse(null); resp -> session.onInboundResponse( new SegmentedResponseData( resp, new Http2SegmentedData(frame.content(), msg.eos, streamId)))) .orElse(null);
new SegmentedResponseData( stream3Response0, new Http1SegmentedData(new DefaultHttpContent(Unpooled.EMPTY_BUFFER))); new SegmentedResponseData( stream3Response0, new Http1SegmentedData(new DefaultLastHttpContent(Unpooled.EMPTY_BUFFER))); new SegmentedResponseData( stream5Response0, new Http1SegmentedData(new DefaultHttpContent(Unpooled.EMPTY_BUFFER))); new SegmentedResponseData( stream5Response0, new Http1SegmentedData(new DefaultLastHttpContent(Unpooled.EMPTY_BUFFER)));