@Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { logHttpHeaders(responseContext.getHeaders()); }
@Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { logHttpHeaders(responseContext.getHeaders()); }
@Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { Object contentEncoding = responseContext.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if ("gzip".equals(contentEncoding)) { responseContext.getHeaders().remove(HttpHeaders.CONTENT_ENCODING); } }
@Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { if (responseContext.getMediaType() != null && responseContext.getMediaType().isCompatible(MediaType.TEXT_PLAIN_TYPE)) { String newContentType = "application/json" + responseContext.getMediaType().toString().substring(10); responseContext.getHeaders().putSingle("Content-Type", newContentType); } } }
/** * Checks the response and if basic authentication is required then performs a new request * with basic authentication. * * @param request Request context. * @param response Response context (will be updated with newest response data if the request was repeated). * @return {@code true} if response does not require authentication or if authentication is required, * new request was done with digest authentication information and authentication was successful. * @throws ResponseAuthenticationException in case that basic credentials missing or are in invalid format */ public boolean filterResponseAndAuthenticate(ClientRequestContext request, ClientResponseContext response) { final String authenticate = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authenticate != null && authenticate.trim().toUpperCase().startsWith("BASIC")) { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter .getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new ResponseAuthenticationException(null, LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } return HttpAuthenticationFilter.repeatRequest(request, response, calculateAuthentication(credentials)); } return false; } }
/** * Checks the response and if basic authentication is required then performs a new request * with basic authentication. * * @param request Request context. * @param response Response context (will be updated with newest response data if the request was repeated). * @return {@code true} if response does not require authentication or if authentication is required, * new request was done with digest authentication information and authentication was successful. * @throws ResponseAuthenticationException in case that basic credentials missing or are in invalid format */ public boolean filterResponseAndAuthenticate(ClientRequestContext request, ClientResponseContext response) { final String authenticate = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authenticate != null && authenticate.trim().toUpperCase().startsWith("BASIC")) { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter .getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new ResponseAuthenticationException(null, LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } return HttpAuthenticationFilter.repeatRequest(request, response, calculateAuthentication(credentials)); } return false; } }
/** * Checks the response and if basic authentication is required then performs a new request * with basic authentication. * * @param request Request context. * @param response Response context (will be updated with newest response data if the request was repeated). * @return {@code true} if response does not require authentication or if authentication is required, * new request was done with digest authentication information and authentication was successful. * @throws ResponseAuthenticationException in case that basic credentials missing or are in invalid format */ public boolean filterResponseAndAuthenticate(ClientRequestContext request, ClientResponseContext response) { final String authenticate = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authenticate != null && authenticate.trim().toUpperCase().startsWith("BASIC")) { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter .getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new ResponseAuthenticationException(null, LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } return HttpAuthenticationFilter.repeatRequest(request, response, calculateAuthentication(credentials)); } 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))); } }
@Override public void filter(final ClientRequestContext requestContext, final ClientResponseContext responseContext) throws IOException { final long id = aid.incrementAndGet(); final StringBuilder b = new StringBuilder(); printResponseLine(b, "Client response received", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getHeaders()); if (printEntity && responseContext.hasEntity()) { responseContext.setEntityStream(logInboundEntity(b, responseContext.getEntityStream())); } log(b); }
String authString = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authString != null) { final String upperCaseAuth = authString.trim().toUpperCase();
String authString = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authString != null) { final String upperCaseAuth = authString.trim().toUpperCase();
response.setEntityStream(nextResponse.readEntity(InputStream.class)); MultivaluedMap<String, String> headers = response.getHeaders(); headers.clear(); headers.putAll(nextResponse.getStringHeaders());
@Override public void filter(final ClientRequestContext requestContext, final ClientResponseContext responseContext) throws IOException { if (!logger.isLoggable(level)) { return; } final Object requestId = requestContext.getProperty(LOGGING_ID_PROPERTY); final long id = requestId != null ? (Long) requestId : _id.incrementAndGet(); final StringBuilder b = new StringBuilder(); printResponseLine(b, "Client response received", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getHeaders()); if (responseContext.hasEntity() && printEntity(verbosity, responseContext.getMediaType())) { responseContext.setEntityStream(logInboundEntity(b, responseContext.getEntityStream(), MessageUtils.getCharset(responseContext.getMediaType()))); } log(b); } }
@Override public void filter(final ClientRequestContext requestContext, final ClientResponseContext responseContext) throws IOException { if (!logger.isLoggable(level)) { return; } final Object requestId = requestContext.getProperty(LOGGING_ID_PROPERTY); final long id = requestId != null ? (Long) requestId : _id.incrementAndGet(); final StringBuilder b = new StringBuilder(); printResponseLine(b, "Client response received", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getHeaders()); if (responseContext.hasEntity() && printEntity(verbosity, responseContext.getMediaType())) { responseContext.setEntityStream(logInboundEntity(b, responseContext.getEntityStream(), MessageUtils.getCharset(responseContext.getMediaType()))); } log(b); } }
response.setEntityStream(nextResponse.readEntity(InputStream.class)); MultivaluedMap<String, String> headers = response.getHeaders(); headers.clear(); headers.putAll(nextResponse.getStringHeaders());
final DigestScheme digestScheme = parseAuthHeaders(response.getHeaders().get(HttpHeaders.WWW_AUTHENTICATE)); if (digestScheme == null) { return false;
final DigestScheme digestScheme = parseAuthHeaders(response.getHeaders().get(HttpHeaders.WWW_AUTHENTICATE)); if (digestScheme == null) { return false;
response.setEntityStream(nextResponse.readEntity(InputStream.class)); MultivaluedMap<String, String> headers = response.getHeaders(); headers.clear(); headers.putAll(nextResponse.getStringHeaders());
final DigestScheme digestScheme = parseAuthHeaders(response.getHeaders().get(HttpHeaders.WWW_AUTHENTICATE)); if (digestScheme == null) { return false;
@Override public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { final Object spanProperty = requestContext.getProperty(OpenTracingFeature.SPAN_CONTEXT_PROPERTY); if (spanProperty != null && spanProperty instanceof Span) { ((Span) spanProperty) .setTag(Tags.HTTP_STATUS.getKey(), responseContext.getStatus()) .setTag(LocalizationMessages.OPENTRACING_TAG_HAS_RESPONSE_ENTITY(), responseContext.hasEntity()) .setTag(LocalizationMessages.OPENTRACING_TAG_RESPONSE_LENGTH(), responseContext.getLength()) .setTag(LocalizationMessages.OPENTRACING_TAG_RESPONSE_HEADERS(), OpenTracingUtils.headersAsString(responseContext.getHeaders())) .finish(); } } }