@Override public void setAttribute(String name, Object value, int scope) { requestContext.setProperty(name, value); }
@Override public void filter(final ContainerRequestContext request) throws IOException { request.setProperty(RUNTIME_PROPERTY, currentTimeProvider.get()); }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { requestContext.setProperty("metricsTimerContext", timer.time()); }
@Override public void setAttributes(final ContainerRequestContext requestContext) { final RequestAttributes attributes; if (isWebApp) { final HttpServletRequest httpRequest = injectionManager.getInstance(HttpServletRequest.class); attributes = new JaxrsServletRequestAttributes(httpRequest, requestContext); } else { attributes = new JaxrsRequestAttributes(requestContext); } requestContext.setProperty(REQUEST_ATTRIBUTES_PROPERTY, attributes); RequestContextHolder.setRequestAttributes(attributes); }
@Override public void filter(final ContainerRequestContext 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, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { context.setEntityStream( logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType()))); } log(b); }
@Override public void filter(final ContainerRequestContext 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, "Server has received a request", id, context.getMethod(), context.getUriInfo().getRequestUri()); printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders()); if (context.hasEntity() && printEntity(verbosity, context.getMediaType())) { context.setEntityStream( logInboundEntity(b, context.getEntityStream(), MessageUtils.getCharset(context.getMediaType()))); } log(b); }
@Override public void filter(final ContainerRequestContext requestContext, final ContainerResponseContext responseContext) throws IOException { final long id = aid.incrementAndGet(); final StringBuilder b = new StringBuilder(); printResponseLine(b, "Server responded with a response", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getStringHeaders()); if (printEntity && responseContext.hasEntity()) { final OutputStream stream = new LoggingStream(b, responseContext.getEntityStream()); responseContext.setEntityStream(stream); requestContext.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 ContainerRequestContext requestContext, final ContainerResponseContext 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, "Server responded with a response", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getStringHeaders()); if (responseContext.hasEntity() && printEntity(verbosity, responseContext.getMediaType())) { final OutputStream stream = new LoggingStream(b, responseContext.getEntityStream()); responseContext.setEntityStream(stream); requestContext.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 ContainerRequestContext requestContext, final ContainerResponseContext 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, "Server responded with a response", id, responseContext.getStatus()); printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getStringHeaders()); if (responseContext.hasEntity() && printEntity(verbosity, responseContext.getMediaType())) { final OutputStream stream = new LoggingStream(b, responseContext.getEntityStream()); responseContext.setEntityStream(stream); requestContext.setProperty(ENTITY_LOGGER_PROPERTY, stream); // not calling log(b) here - it will be called by the interceptor } else { log(b); } } }
@Override public void filter(ContainerRequestContext request) { boolean closeParentSpan = false; SpanContext requestSpanContext = parentSpanContextProvider.get(); if (null == requestSpanContext) { closeParentSpan = true; Span requestSpan = security().tracer().buildSpan("security-parent").start(); request.setProperty(PROP_PARENT_SPAN, requestSpan); requestSpanContext = requestSpan.context(); } request.setProperty(PROP_CLOSE_PARENT_SPAN, closeParentSpan); // create a new security context SecurityContext securityContext = security() .contextBuilder(Integer.toString(CONTEXT_COUNTER.incrementAndGet(), Character.MAX_RADIX)) .tracingSpan(requestSpanContext) .executorService(executorService) .build(); injectionManager.<Ref<SecurityContext>>getInstance((new GenericType<Ref<SecurityContext>>() { }).getType()) .set(securityContext); if (featureConfig().shouldUsePrematchingAuthentication()) { doFilter(request, securityContext); } }
@Override public void filter(ContainerRequestContext requestContext) { if (!tracingEnabled(requestContext)) { return; } ServerRequest serverRequest = this.request.get(); Tracer tracer = serverRequest.webServer().configuration().tracer(); SpanContext parentSpan = TracingContext.get() .map(TracingContext::parentSpan) .orElseGet(serverRequest::spanContext); Tracer.SpanBuilder spanBuilder = tracer .buildSpan(spanName(requestContext)) .asChildOf(parentSpan) .withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_SERVER) .withTag(Tags.HTTP_METHOD.getKey(), requestContext.getMethod()) .withTag(Tags.HTTP_URL.getKey(), requestContext.getUriInfo().getRequestUri().toString()) .withTag(Tags.COMPONENT.getKey(), "jaxrs"); configureSpan(spanBuilder); Span span = spanBuilder.start(); requestContext.setProperty(SPAN_PROPERTY, span); // set the client tracing context TracingContext.compute(() -> TracingContext.create(tracer, requestContext.getHeaders())) .parentSpan(span.context()); }
securityContext.endpointConfig(ec); request.setProperty(PROP_FILTER_CONTEXT, filterContext);
protected void checkOrigin(ContainerRequestContext requestContext, String origin) { if (!allowedOrigins.contains("*") && !allowedOrigins.contains(origin)) { requestContext.setProperty("cors.failure", true); throw new ForbiddenException(Messages.MESSAGES.originNotAllowed(origin)); } } }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { if (hasEntityParameter) { requestContext.setProperty(Verifier.class.getName(), create()); } else { verify(requestContext, create()); } }
request.setProperty(DO_NOT_CACHE_RESPONSE, true); request.abortWith(builder.build());
@Override public void filter(final ContainerRequestContext context) throws IOException { logbook.write(new RemoteRequest(context)) .ifPresent(correlator -> context.setProperty(CORRELATOR, correlator)); }
@Override public void filter(final ContainerRequestContext requestContext) throws IOException { final TraceScopeHolder<TraceScope> holder = super.startTraceSpan(requestContext.getHeaders(), requestContext.getUriInfo().getRequestUri(), requestContext.getMethod()); if (holder != null) { requestContext.setProperty(TRACE_SPAN, holder); } }
@Override public void filter(final ContainerRequestContext requestContext) throws IOException { final TraceScopeHolder<TraceScope> holder = super.startTraceSpan(requestContext.getHeaders(), requestContext.getUriInfo().getRequestUri(), requestContext.getMethod()); if (holder != null) { requestContext.setProperty(TRACE_SPAN, holder); } }
@Override public void filter(ContainerRequestContext context) throws IOException { if (!"true".equals(context.getProperty("FirstPrematchingFilter"))) { throw new RuntimeException(); } context.setProperty("DynamicPrematchingFilter", "true"); }
@Override public void filter(ContainerRequestContext requestContext) throws IOException { if (requestContext.getUriInfo().getPath().endsWith("/blockAndThrowException")) { requestContext.setProperty("blocked", Boolean.TRUE); requestContext.abortWith(Response.ok().build()); } }