private void fail(Throwable cause) { state = State.DONE; logBuilder.endRequest(cause); logBuilder.endResponse(cause); cancelSubscription(); }
private static void handleEarlyRequestException(ClientRequestContext ctx, HttpRequest req, Throwable cause) { req.abort(); final RequestLogBuilder logBuilder = ctx.logBuilder(); logBuilder.endRequest(cause); logBuilder.endResponse(cause); }
public static <I extends Request, O extends Response, U extends Client<I, O>> O executeWithFallback( U delegate, ClientRequestContext ctx, I req, BiFunction<ClientRequestContext, Throwable, O> fallback) { requireNonNull(delegate, "delegate"); requireNonNull(ctx, "ctx"); requireNonNull(req, "req"); requireNonNull(fallback, "fallback"); try (SafeCloseable ignored = ctx.push()) { return delegate.execute(ctx, req); } catch (Throwable cause) { final O fallbackRes = fallback.apply(ctx, cause); final RequestLogBuilder logBuilder = ctx.logBuilder(); if (!ctx.log().isAvailable(RequestLogAvailability.REQUEST_START)) { // An exception is raised even before sending a request, so end the request with the exception. logBuilder.endRequest(cause); } logBuilder.endResponse(cause); return fallbackRes; } }
private void write0(HttpObject o, boolean endOfStream, boolean flush) { final ChannelFuture future; if (o instanceof HttpData) { final HttpData data = (HttpData) o; future = encoder.writeData(id, streamId(), data, endOfStream); logBuilder.increaseRequestLength(data.length()); } else if (o instanceof HttpHeaders) { future = encoder.writeHeaders(id, streamId(), (HttpHeaders) o, endOfStream); } else { // Should never reach here because we did validation in onNext(). throw new Error(); } if (endOfStream) { logBuilder.endRequest(); } future.addListener(this); if (flush) { ch.flush(); } }
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; }
logBuilder.endRequest(cause); logBuilder.endResponse(cause); logBuilder.endRequest(); } else { logBuilder.endRequest(cause);
ctx.logBuilder().endRequest();
final RequestLogBuilder logBuilder = ctx.logBuilder(); logBuilder.requestContent(rpcReq, req); logBuilder.endRequest();
try (SafeCloseable ignored = ctx.push()) { final RequestLogBuilder log = ctx.logBuilder(); log.endRequest(); log.endResponse();
log.requestHeaders(HttpHeaders.of(HttpHeaderNames.USER_AGENT, "some-client")); log.requestContent(RPC_REQ, THRIFT_CALL); log.endRequest(); log.responseLength(128); log.responseHeaders(HttpHeaders.of(200).set(HttpHeaderNames.DATE, "some-date"));
log.requestHeaders(HttpHeaders.of(HttpHeaderNames.USER_AGENT, "some-client")); log.requestContent(RPC_REQ, THRIFT_CALL); log.endRequest(); log.responseLength(128); log.responseHeaders(HttpHeaders.of(200).set(HttpHeaderNames.DATE, "some-date"));