private EarlyRespondingRequestContext newEarlyRespondingRequestContext(ChannelHandlerContext ctx, DecodedHttpRequest req, String path, @Nullable String query) { final Channel channel = ctx.channel(); final EarlyRespondingRequestContext reqCtx = new EarlyRespondingRequestContext(channel, NoopMeterRegistry.get(), protocol(), req.method(), path, query, req); final RequestLogBuilder logBuilder = reqCtx.logBuilder(); logBuilder.startRequest(channel, protocol()); logBuilder.requestHeaders(req.headers()); return reqCtx; }
private boolean handleEarlyCancellation(ClientRequestContext ctx, HttpRequest req, DecodedHttpResponse res) { if (res.isOpen()) { return false; } // The response has been closed even before its request is sent. assert protocol != null; req.abort(); ctx.logBuilder().startRequest(channel, protocol); ctx.logBuilder().requestHeaders(req.headers()); req.completionFuture().handle((unused, cause) -> { if (cause == null) { ctx.logBuilder().endRequest(); } else { ctx.logBuilder().endRequest(cause); } return null; }); res.completionFuture().handle((unused, cause) -> { if (cause == null) { ctx.logBuilder().endResponse(); } else { ctx.logBuilder().endResponse(cause); } return null; }); return true; }
private void writeFirstHeader() { final HttpSession session = HttpSession.get(ch); if (!session.canSendRequest()) { failAndRespond(UnprocessedRequestException.get()); return; } final HttpHeaders firstHeaders = autoFillHeaders(ch); final SessionProtocol protocol = session.protocol(); assert protocol != null; logBuilder.startRequest(ch, protocol); logBuilder.requestHeaders(firstHeaders); if (request.isEmpty()) { state = State.DONE; write0(firstHeaders, true, true); } else { state = State.NEEDS_DATA_OR_TRAILING_HEADERS; write0(firstHeaders, false, true); } }
/** * Returns a new {@link ClientRequestContext} created with the properties of this builder. */ public ClientRequestContext build() { final Endpoint endpoint; if (this.endpoint != null) { endpoint = this.endpoint; } else { endpoint = Endpoint.parse(authority()); } final DefaultClientRequestContext ctx = new DefaultClientRequestContext( eventLoop(), meterRegistry(), sessionProtocol(), endpoint, method(), path(), query(), fragment, options, request()); if (isRequestStartTimeSet()) { ctx.logBuilder().startRequest(fakeChannel(), sessionProtocol(), sslSession(), requestStartTimeNanos(), requestStartTimeMicros()); } else { ctx.logBuilder().startRequest(fakeChannel(), sessionProtocol(), sslSession()); } if (request() instanceof HttpRequest) { ctx.logBuilder().requestHeaders(((HttpRequest) request()).headers()); } else { ctx.logBuilder().requestContent(request(), null); } return ctx; } }
log.serializationFormat(ThriftSerializationFormats.BINARY); log.requestLength(64); log.requestHeaders(HttpHeaders.of(HttpHeaderNames.USER_AGENT, "some-client")); log.requestContent(RPC_REQ, THRIFT_CALL); log.endRequest();
log.serializationFormat(ThriftSerializationFormats.BINARY); log.requestLength(64); log.requestHeaders(HttpHeaders.of(HttpHeaderNames.USER_AGENT, "some-client")); log.requestContent(RPC_REQ, THRIFT_CALL); log.endRequest();