.status(HttpResponseStatus.OK) .body(Unpooled.EMPTY_BUFFER) .streamId(3) .build(); subject.onResponseDrainNext(mockCtx, response);
private void sendResponse(ChannelHandlerContext ctx, Request msg) { val resp = DefaultFullResponse.builder() .headers(new DefaultHeaders()) .status(HttpResponseStatus.OK) .body(Unpooled.EMPTY_BUFFER) .streamId(msg.streamId()) .build(); ctx.writeAndFlush(resp); } }
private void sendResponse(ChannelHandlerContext ctx, TraceInfo traceInfo, int streamId) { val resp = DefaultFullResponse.builder() .httpTraceInfo(traceInfo) .headers(new DefaultHeaders()) .streamId(streamId) .status(HttpResponseStatus.OK) .body(Unpooled.EMPTY_BUFFER) .build(); ctx.writeAndFlush(resp); } }
@Test public void testFullResponseWithBody() throws Exception { outputReceived = new CountDownLatch(2); ByteBuf body = ByteBufUtil.writeUtf8(UnpooledByteBufAllocator.DEFAULT, "response"); Http2Headers headersIn = new DefaultHttp2Headers().method("GET").path("/"); Http2Request requestIn = Http2Request.build(1, headersIn, true); FullResponse responseIn = ResponseBuilders.newOk().streamId(1).body(body).build(); channel.writeInbound(requestIn); channel.runPendingTasks(); // blocks channel.writeOutbound(responseIn); channel.runPendingTasks(); // blocks Uninterruptibles.awaitUninterruptibly(outputReceived); Http2Response responseOut = responses.remove(0); assertNotNull(responseOut); assertTrue(responseOut.payload instanceof Http2Headers); assertEquals("200", ((Http2Headers) responseOut.payload).status().toString()); assertFalse(responseOut.eos); assertEquals(1, responseOut.streamId); Http2Response bodyOut1 = responses.remove(0); assertNotNull(bodyOut1); assertTrue(bodyOut1.payload instanceof Http2DataFrame); assertEquals(body, ((Http2DataFrame) bodyOut1.payload).content()); assertTrue(bodyOut1.eos); assertEquals(1, bodyOut1.streamId); }
@Test public void testFullResponse() throws Exception { outputReceived = new CountDownLatch(2); Http2Headers headersIn = new DefaultHttp2Headers().method("GET").path("/"); Http2Request requestIn = Http2Request.build(1, headersIn, true); FullResponse responseIn = ResponseBuilders.newOk().streamId(1).body(Unpooled.EMPTY_BUFFER).build(); channel.writeInbound(requestIn); channel.runPendingTasks(); // blocks channel.writeOutbound(responseIn); channel.runPendingTasks(); // blocks Uninterruptibles.awaitUninterruptibly(outputReceived); Http2Response responseOut = responses.remove(0); assertNotNull(responseOut); assertTrue(responseOut.payload instanceof Http2Headers); assertEquals("200", ((Http2Headers) responseOut.payload).status().toString()); assertTrue(responseOut.eos); assertEquals(1, responseOut.streamId); }
public static DefaultFullResponse.Builder newOk(Request request) { return defaultHeaders( DefaultFullResponse.builder() .streamId(request.streamId()) .httpTraceInfo(request.httpTraceInfo()) .status(HttpResponseStatus.OK)); } }
public static Response newServiceUnavailable(Request request) { return defaultHeaders(DefaultFullResponse.builder()) .body(Unpooled.EMPTY_BUFFER) .httpTraceInfo(request.httpTraceInfo()) .streamId(request.streamId()) .status(HttpResponseStatus.SERVICE_UNAVAILABLE) .build(); }
public static Response newNotFound(Request request) { return defaultHeaders(DefaultFullResponse.builder()) .body(Unpooled.EMPTY_BUFFER) .httpTraceInfo(request.httpTraceInfo()) .streamId(request.streamId()) .status(HttpResponseStatus.NOT_FOUND) .build(); }
public static Builder from(FullResponse other) { return builder() .body(other.body()) .headers(other.headers()) .httpTraceInfo(other.httpTraceInfo()) .streamId(other.streamId()) .status(other.status()) .body(other.body()); }
public static Response newServiceTimeout(Request request) { return defaultHeaders(DefaultFullResponse.builder()) .body(Unpooled.EMPTY_BUFFER) .httpTraceInfo(request.httpTraceInfo()) .streamId(request.streamId()) .status(HttpResponseStatus.GATEWAY_TIMEOUT) .build(); }