@Override public String path(ClientRequestContext request) { return request.getUri().getPath(); }
@Override public String url(ClientRequestContext request) { return request.getUri().toString(); }
@Override public URL getRequestURL() { try { final URI uri = clientRequest.getUri(); return uri.toURL(); } catch (MalformedURLException ex) { Logger.getLogger(RequestWrapper.class.getName()).log(Level.SEVERE, null, ex); return null; } }
/** * Returns the query parameters of a request as a multi-valued map. * * @param request the client request to retrieve query parameters from. * @return a {@link javax.ws.rs.core.MultivaluedMap} containing the entity query parameters. */ public static MultivaluedMap<String, String> getQueryParameters(ClientRequestContext request) { URI uri = request.getUri(); if (uri == null) { return null; } return UriComponent.decodeQuery(uri, true); }
private String getCacheKey(ClientRequestContext request) { return request.getUri().toString() + ":" + request.getMethod(); }
private String getCacheKey(ClientRequestContext request) { return request.getUri().toString() + ":" + request.getMethod(); }
private String getCacheKey(ClientRequestContext request) { return request.getUri().toString() + ":" + request.getMethod(); }
/** * Process request and add authentication information if possible. * * @param request Request context. * @return {@code true} if authentication information was added. * @throws IOException When error with encryption occurs. */ boolean filterRequest(final ClientRequestContext request) throws IOException { final DigestScheme digestScheme = digestCache.get(request.getUri()); if (digestScheme != null) { final HttpAuthenticationFilter.Credentials cred = HttpAuthenticationFilter.getCredentials(request, this.credentials, HttpAuthenticationFilter.Type.DIGEST); if (cred != null) { request.getHeaders().add(HttpHeaders.AUTHORIZATION, createNextAuthToken(digestScheme, request, cred)); return true; } } return false; }
/** * Process request and add authentication information if possible. * * @param request Request context. * @return {@code true} if authentication information was added. * @throws IOException When error with encryption occurs. */ boolean filterRequest(final ClientRequestContext request) throws IOException { final DigestScheme digestScheme = digestCache.get(request.getUri()); if (digestScheme != null) { final HttpAuthenticationFilter.Credentials cred = HttpAuthenticationFilter.getCredentials(request, this.credentials, HttpAuthenticationFilter.Type.DIGEST); if (cred != null) { request.getHeaders().add(HttpHeaders.AUTHORIZATION, createNextAuthToken(digestScheme, request, cred)); return true; } } return false; }
@Override public void filter(ClientRequestContext context) { if (LOGGER.isLoggable(Level.FINEST)) { LOGGER.log(Level.FINEST, "Call GitLab:\nHTTP method: {0}\nURL: {1}\nRequest headers: [\n{2}\n]", LoggerUtil.toArray(context.getMethod(), context.getUri(), toFilteredString(context.getHeaders()))); } }
/** * Process request and add authentication information if possible. * * @param request Request context. * @return {@code true} if authentication information was added. * @throws IOException When error with encryption occurs. */ boolean filterRequest(final ClientRequestContext request) throws IOException { final DigestScheme digestScheme = digestCache.get(request.getUri()); if (digestScheme != null) { final HttpAuthenticationFilter.Credentials cred = HttpAuthenticationFilter.getCredentials(request, this.credentials, HttpAuthenticationFilter.Type.DIGEST); if (cred != null) { request.getHeaders().add(HttpHeaders.AUTHORIZATION, createNextAuthToken(digestScheme, request, cred)); return true; } } return false; }
@Override public void filter(ClientRequestContext request, ClientResponseContext response) { if (LOGGER.isLoggable(Level.FINEST)) { LOGGER.log(Level.FINEST, "Got response from GitLab:\nURL: {0}\nStatus: {1} {2}\nResponse headers: [\n{3}\n]\nResponse body: {4}", LoggerUtil.toArray(request.getUri(), response.getStatus(), response.getStatusInfo(), toString(response.getHeaders()), getPrettyPrintResponseBody(response))); } }
private Span createSpan(ClientRequestContext requestContext, Tracer tracer, Optional<SpanContext> parentSpan) { Tracer.SpanBuilder spanBuilder = tracer.buildSpan(SPAN_OPERATION_NAME) .withTag(Tags.HTTP_METHOD.getKey(), requestContext.getMethod()) .withTag(Tags.HTTP_URL.getKey(), requestContext.getUri().toString()); parentSpan.ifPresent(spanBuilder::asChildOf); return spanBuilder.start(); }
@Override public void filter(final ClientRequestContext context) throws IOException { final long id = aid.incrementAndGet(); final StringBuilder b = new StringBuilder(); printRequestLine(b, "Sending client request", id, context.getMethod(), context.getUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getStringHeaders()); if (printEntity && context.hasEntity()) { final OutputStream stream = new LoggingStream(b, context.getEntityStream()); context.setEntityStream(stream); context.setProperty(ENTITY_LOGGER_PROPERTY, stream); // not calling log(b) here - it will be called by the interceptor } else { log(b); } }
@Override public void filter(final ClientRequestContext context) throws IOException { if (!logger.isLoggable(level)) { return; } final long id = _id.incrementAndGet(); context.setProperty(LOGGING_ID_PROPERTY, id); final StringBuilder b = new StringBuilder(); printRequestLine(b, "Sending client request", id, context.getMethod(), context.getUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getStringHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { final OutputStream stream = new LoggingStream(b, context.getEntityStream()); context.setEntityStream(stream); context.setProperty(ENTITY_LOGGER_PROPERTY, stream); // not calling log(b) here - it will be called by the interceptor } else { log(b); } }
@Override public void filter(final ClientRequestContext context) throws IOException { if (!logger.isLoggable(level)) { return; } final long id = _id.incrementAndGet(); context.setProperty(LOGGING_ID_PROPERTY, id); final StringBuilder b = new StringBuilder(); printRequestLine(b, "Sending client request", id, context.getMethod(), context.getUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getStringHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { final OutputStream stream = new LoggingStream(b, context.getEntityStream()); context.setEntityStream(stream); context.setProperty(ENTITY_LOGGER_PROPERTY, stream); // not calling log(b) here - it will be called by the interceptor } else { log(b); } }
@Override public void filter(ClientRequestContext requestContext) throws IOException { Tracer.SpanBuilder spanBuilder = GlobalTracer.get() .buildSpan(LocalizationMessages.OPENTRACING_SPAN_PREFIX_CLIENT() + requestContext.getMethod()) .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT) .withTag(Tags.HTTP_URL.getKey(), requestContext.getUri().toASCIIString()) .withTag(Tags.HTTP_METHOD.getKey(), requestContext.getMethod()) .withTag(LocalizationMessages.OPENTRACING_TAG_HAS_REQUEST_ENTITY(), requestContext.hasEntity()) .withTag(LocalizationMessages.OPENTRACING_TAG_ACCEPTABLE_MEDIA_TYPES(), requestContext.getAcceptableMediaTypes() .stream() .map(MediaType::toString) .collect(Collectors.joining(", "))) .withTag(LocalizationMessages.OPENTRACING_TAG_REQUEST_HEADERS(), OpenTracingUtils.headersAsString(requestContext.getHeaders())); // if pre-stored "span" property is found, propagate the stored context final Object property = requestContext.getProperty(OpenTracingFeature.SPAN_CONTEXT_PROPERTY); if (property != null && property instanceof SpanContext) { spanBuilder = spanBuilder.asChildOf((SpanContext) property); } Span span = spanBuilder.startManual(); requestContext.setProperty(OpenTracingFeature.SPAN_CONTEXT_PROPERTY, span); Map<String, String> addedHeaders = new HashMap<>(); GlobalTracer.get().inject(span.context(), Format.Builtin.HTTP_HEADERS, new TextMapInjectAdapter(addedHeaders)); addedHeaders.forEach((key, value) -> requestContext.getHeaders().add(key, value)); } }
append(sb, "qop", ds.getQop().toString(), false); final String uri = UriComponent.fullRelativeUri(requestContext.getUri()); append(sb, "uri", uri);