@Override public URI getRequestUri() { return requestContext.getRequestUri(); }
@Override public URI getRequestUri() { return requestContext.getRequestUri(); }
@GET public Response getIndex(@Context ContainerRequest request, @Context HttpHeaders headers) { final URI originalLocation = request.getRequestUri(); if (originalLocation.getPath().endsWith("/")) { return get(request, headers, originalLocation.getPath()); } final URI redirect = UriBuilder.fromPath(originalLocation.getPath() + "/").build(); return Response.temporaryRedirect(redirect).build(); }
@Override public void filter(ContainerRequestContext context) throws IOException { System.out.println("WebApplicationExceptionFilter.preFilter() enter"); String path = ((ContainerRequest) context).getRequestUri().getPath(); if (path.endsWith("request_exception") && context.hasEntity() && ((ContainerRequest) context) .readEntity(String.class).equals("Request Exception")) { throw new WebApplicationException(Response.Status.OK); } System.out.println("WebApplicationExceptionFilter.preFilter() exit"); }
/** * Ensure that the value a {@value HttpHeaders#LOCATION} header is an absolute URI, if present among headers. * <p/> * Relative URI value will be made absolute using a base request URI. * * @param location location URI; value of the HTTP {@value HttpHeaders#LOCATION} response header. * @param headers mutable map of response headers. * @param request container request. * @param incompatible if set to {@code true}, uri will be resolved against the request uri, not the base uri; * this is correct against RFC7231, but does violate the JAX-RS 2.0 specs */ private static void ensureAbsolute(final URI location, final MultivaluedMap<String, Object> headers, final ContainerRequest request, final boolean incompatible) { if (location == null || location.isAbsolute()) { return; } // according to RFC7231 (HTTP/1.1), this field can contain one single URI reference final URI uri = incompatible ? request.getRequestUri() : request.getBaseUri(); headers.putSingle(HttpHeaders.LOCATION, uri.resolve(location)); }
/** * Ensure that the value a {@value HttpHeaders#LOCATION} header is an absolute URI, if present among headers. * <p/> * Relative URI value will be made absolute using a base request URI. * * @param location location URI; value of the HTTP {@value HttpHeaders#LOCATION} response header. * @param headers mutable map of response headers. * @param request container request. * @param incompatible if set to {@code true}, uri will be resolved against the request uri, not the base uri; * this is correct against RFC7231, but does violate the JAX-RS 2.0 specs */ private static void ensureAbsolute(final URI location, final MultivaluedMap<String, Object> headers, final ContainerRequest request, final boolean incompatible) { if (location == null || location.isAbsolute()) { return; } // according to RFC7231 (HTTP/1.1), this field can contain one single URI reference final URI uri = incompatible ? request.getRequestUri() : request.getBaseUri(); headers.putSingle(HttpHeaders.LOCATION, uri.resolve(location)); }
StringBuilder textSB = new StringBuilder(); textSB.append(String.format("baseUri=[%s] requestUri=[%s] method=[%s] authScheme=[%s]", request.getBaseUri(), request.getRequestUri(), request.getMethod(), toStringOrNA(request.getSecurityContext().getAuthenticationScheme()))); for (String header : SUMMARY_HEADERS) {
StringBuilder textSB = new StringBuilder(); textSB.append(String.format("baseUri=[%s] requestUri=[%s] method=[%s] authScheme=[%s]", request.getBaseUri(), request.getRequestUri(), request.getMethod(), toStringOrNA(request.getSecurityContext().getAuthenticationScheme()))); for (String header : SUMMARY_HEADERS) {
LOGGER.log(Level.WARNING, LocalizationMessages.FORM_PARAM_CONSUMED(containerRequest.getRequestUri()));
LOGGER.log(Level.WARNING, LocalizationMessages.FORM_PARAM_CONSUMED(containerRequest.getRequestUri()));
private Span handleRequestStart(ContainerRequest request) { final Map<String, String> mappedHeaders = request .getHeaders() .entrySet() .stream() .collect(Collectors.toMap( Map.Entry::getKey, (entry) -> OpenTracingUtils.formatList(entry.getValue()))); final SpanContext extractedContext = globalTracer.extract(Format.Builtin.HTTP_HEADERS, new TextMapExtractAdapter(mappedHeaders)); Tracer.SpanBuilder spanBuilder = globalTracer .buildSpan(OpenTracingFeature.DEFAULT_REQUEST_SPAN_NAME) .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER) .withTag(Tags.HTTP_METHOD.getKey(), request.getMethod()) .withTag(Tags.HTTP_URL.getKey(), request.getRequestUri().toASCIIString()) .withTag(LocalizationMessages.OPENTRACING_TAG_REQUEST_HEADERS(), OpenTracingUtils.headersAsString(request.getHeaders())) .withTag(LocalizationMessages.OPENTRACING_TAG_HAS_REQUEST_ENTITY(), request.hasEntity()); if (extractedContext != null) { spanBuilder = spanBuilder.asChildOf(extractedContext); } final Span span = spanBuilder.startManual(); request.setProperty(OpenTracingFeature.SPAN_CONTEXT_PROPERTY, span); span.log(LocalizationMessages.OPENTRACING_LOG_REQUEST_STARTED()); return span; }
@Override public URI getRequestUri() { return requestContext.getRequestUri(); }
rfc7231LocationHeaderRelativeUriResolution ? request.getRequestUri() : request.getBaseUri(); OutboundJaxrsResponse.Builder.setBaseUri(uriToUse);
rfc7231LocationHeaderRelativeUriResolution ? request.getRequestUri() : request.getBaseUri(); OutboundJaxrsResponse.Builder.setBaseUri(uriToUse);
/** * Ensure that the value a {@value HttpHeaders#LOCATION} header is an absolute URI, if present among headers. * <p/> * Relative URI value will be made absolute using a base request URI. * * @param location location URI; value of the HTTP {@value HttpHeaders#LOCATION} response header. * @param headers mutable map of response headers. * @param request container request. * @param incompatible if set to {@code true}, uri will be resolved against the request uri, not the base uri; * this is correct against RFC7231, but does violate the JAX-RS 2.0 specs */ private static void ensureAbsolute(final URI location, final MultivaluedMap<String, Object> headers, final ContainerRequest request, final boolean incompatible) { if (location == null || location.isAbsolute()) { return; } // according to RFC7231 (HTTP/1.1), this field can contain one single URI reference final URI uri = incompatible ? request.getRequestUri() : request.getBaseUri(); headers.putSingle(HttpHeaders.LOCATION, uri.resolve(location)); }
StringBuilder textSB = new StringBuilder(); textSB.append(String.format("baseUri=[%s] requestUri=[%s] method=[%s] authScheme=[%s]", request.getBaseUri(), request.getRequestUri(), request.getMethod(), toStringOrNA(request.getSecurityContext().getAuthenticationScheme()))); for (String header : SUMMARY_HEADERS) {
rfc7231LocationHeaderRelativeUriResolution ? request.getRequestUri() : request.getBaseUri(); OutboundJaxrsResponse.Builder.setBaseUri(uriToUse);
@GET public Response getIndex(@Context ContainerRequest request) { final URI originalLocation = request.getRequestUri(); if (originalLocation.getPath().endsWith("/")) { return get(request, originalLocation.getPath()); } final URI redirect = UriBuilder.fromPath(originalLocation.getPath() + "/").build(); return Response.temporaryRedirect(redirect).build(); }
public class QueryParamToPathSegmentFilter implements ContainerRequestFilter { @Override public ContainerRequest filter(ContainerRequest request) { String requestUri = request.getRequestUri().toString(); requestUri = requestUri.replace('?', '/'); request.setUris(request.getBaseUri(), UriBuilder.fromUri(requestUri).build()); return request; } }
/** {@inheritDoc} */ public void onEvent(RequestEvent reqEvt) { if (RequestEvent.Type.ON_EXCEPTION.equals(reqEvt.getType())) { logger.error("An error occured when processing " + reqEvt.getContainerRequest().getRequestUri(), reqEvt.getException() ); logger.error(" + Type : " + reqEvt.getException().getClass().getName()); logger.error(" + Message : " + reqEvt.getException().getMessage()); } else { logger.debug(reqEvt.getContainerRequest().getRequestUri() + "[" + reqEvt.getType() + "]"); } }