@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { if (responseContext.getStatusInfo().equals(Response.Status.UNAUTHORIZED)) { final String requestedWith = requestContext.getHeaderString(HttpHeaders.X_REQUESTED_WITH); if ("XMLHttpRequest".equalsIgnoreCase(requestedWith)) { responseContext.getHeaders().remove(HttpHeaders.WWW_AUTHENTICATE); } } } }
@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { final String method = requestContext.getMethod(); final String uri = requestContext.getUriInfo().getRequestUri().toString(); final int respStatus = responseContext.getStatus(); final String reasonPhrase = responseContext.getStatusInfo().getReasonPhrase(); final String srcIpAddr = request.get().getRemoteAddr(); final String contentType = requestContext.getHeaderString(HttpHeaders.CONTENT_TYPE); LOGGER.info("Handled request from {} {} {}, content-type {} status code {} {}", srcIpAddr, method, uri, contentType, respStatus, reasonPhrase); } }
@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { final Response.StatusType responseStatus = responseContext.getStatusInfo(); final String requestPath = requestContext.getUriInfo().getAbsolutePath().getPath(); final List<MediaType> acceptableMediaTypes = requestContext.getAcceptableMediaTypes(); final boolean acceptsHtml = acceptableMediaTypes.stream() .anyMatch(mediaType -> mediaType.isCompatible(MediaType.TEXT_HTML_TYPE) || mediaType.isCompatible(MediaType.APPLICATION_XHTML_XML_TYPE)); final boolean isGetRequest = "get".equalsIgnoreCase(requestContext.getMethod()); if (isGetRequest && responseStatus == Response.Status.NOT_FOUND && acceptsHtml && !requestPath.startsWith("/" + HttpConfiguration.PATH_API)) { final String entity = indexHtmlGenerator.get(requestContext.getHeaders()); responseContext.setStatusInfo(Response.Status.OK); responseContext.setEntity(entity, new Annotation[0], MediaType.TEXT_HTML_TYPE); responseContext.getHeaders().putSingle("X-UA-Compatible", "IE=edge"); } } }
if (methodSecurity.isAudited()) { AuditEvent.AuditSeverity auditSeverity; if (responseContext.getStatusInfo().getFamily() == Response.Status.Family.SUCCESSFUL) { auditSeverity = methodSecurity.getAuditOkSeverity(); } else {
private String createLoggingResponse(ContainerResponseContext resp) { Object entity = resp.getEntity(); if (BaseModel.class.isInstance(entity)) { BaseModel model = (BaseModel) entity; ByteArrayOutputStream out = new ByteArrayOutputStream(); model.toJson(out); return new String(out.toByteArray()); } else { MediaType mediaType = resp.getMediaType(); return "[" + entity.toString() + "," + resp.getStatusInfo().getStatusCode() + "," + resp.getStatusInfo().getReasonPhrase() + "," + mediaType.toString() + "]"; } }
@Override public void filter(final ContainerRequestContext request, final ContainerResponseContext response) { log("Exit", request); String path = Optional.ofNullable(request.getUriInfo()).map(UriInfo::getPath).orElse(null); Optional.ofNullable(response.getStatusInfo()).ifPresent(statusType -> LOGGER.info("Response for {} : {} {}", path, statusType.getStatusCode(), statusType.getReasonPhrase())); }
@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { if (responseContext.getStatusInfo().equals(Response.Status.UNAUTHORIZED)) { final String requestedWith = requestContext.getHeaderString(HttpHeaders.X_REQUESTED_WITH); if ("XMLHttpRequest".equalsIgnoreCase(requestedWith)) { responseContext.getHeaders().remove(HttpHeaders.WWW_AUTHENTICATE); } } } }
@Override public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException { if (SUCCESSFUL.equals(res.getStatusInfo().getFamily()) && (!req.getUriInfo().getQueryParameters().containsKey(HttpConstants.EXT) || !req.getUriInfo().getQueryParameters().get(HttpConstants.EXT).contains(HttpConstants.ACL))) { res.getHeaders().add(LINK, fromUri(req.getUriInfo().getAbsolutePathBuilder() .queryParam(HttpConstants.EXT, HttpConstants.ACL).build()).rel(HttpConstants.ACL).build()); } }
Family f = context.getStatusInfo().getFamily();
@Override public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException { if ((GET.equals(req.getMethod()) || HEAD.equals(req.getMethod())) && SUCCESSFUL.equals(res.getStatusInfo().getFamily()) && nonNull(hub)) { res.getHeaders().add(LINK, fromUri(hub).rel("hub").build()); } } }
Optional.ofNullable(requestContext.getHeaderString(HttpHeaders.AUTHORIZATION)) .filter(s -> s.startsWith("Bearer ")) .filter(s -> !responseContext.getStatusInfo().getFamily().equals(Response.Status.Family.CLIENT_ERROR)) .filter(s -> responseContext.getHeaderString(HttpHeaders.AUTHORIZATION) == null) .map(h -> renewJWT ? ("Bearer " + MCRRestAPIAuthentication
@Override public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException { if ((GET.equals(req.getMethod()) || HEAD.equals(req.getMethod())) && SUCCESSFUL.equals(res.getStatusInfo().getFamily()) && cacheAge > 0) { final CacheControl cc = new CacheControl(); cc.setMaxAge(cacheAge); cc.setMustRevalidate(revalidate); cc.setNoCache(noCache); res.getHeaders().add(CACHE_CONTROL, cc); } } }
@Override public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { final Response.StatusType responseStatus = responseContext.getStatusInfo(); final String requestPath = requestContext.getUriInfo().getAbsolutePath().getPath(); final List<MediaType> acceptableMediaTypes = requestContext.getAcceptableMediaTypes(); final boolean acceptsHtml = acceptableMediaTypes.stream() .anyMatch(mediaType -> mediaType.isCompatible(MediaType.TEXT_HTML_TYPE) || mediaType.isCompatible(MediaType.APPLICATION_XHTML_XML_TYPE)); final boolean isGetRequest = "get".equalsIgnoreCase(requestContext.getMethod()); if (isGetRequest && responseStatus == Response.Status.NOT_FOUND && acceptsHtml && requestPath.startsWith(webAppPrefix)) { final String entity = indexHtmlGenerator.get(); responseContext.setStatusInfo(Response.Status.OK); responseContext.setEntity(entity, new Annotation[0], MediaType.TEXT_HTML_TYPE); responseContext.getHeaders().putSingle("X-UA-Compatible", "IE=edge"); } } }
String cookieValue = generateCookieValue(); boolean setCookie = true; switch (response.getStatusInfo().getFamily()) { case SERVER_ERROR: case CLIENT_ERROR:
@Test public void testWebSubNull() throws Exception { when(mockRequest.getMethod()).thenReturn(GET); when(mockResponse.getStatusInfo()).thenReturn(OK); final WebSubHeaderFilter filter = new WebSubHeaderFilter(); filter.filter(mockRequest, mockResponse); verify(mockResponse, never()).getHeaders(); }
@Test public void testCacheControlNull() throws Exception { when(mockRequest.getMethod()).thenReturn(GET); when(mockResponse.getStatusInfo()).thenReturn(OK); final CacheControlFilter filter = new CacheControlFilter(0, true, false); filter.filter(mockRequest, mockResponse); verify(mockResponse, never()).getHeaders(); }
@Test public void testWebSubHead() throws Exception { when(mockRequest.getMethod()).thenReturn(HEAD); when(mockResponse.getStatusInfo()).thenReturn(OK); when(mockResponse.getHeaders()).thenReturn(mockHeaders); final WebSubHeaderFilter filter = new WebSubHeaderFilter("http://example.com"); filter.filter(mockRequest, mockResponse); verify(mockResponse).getHeaders(); } }
@Test public void testCacheControlHead() throws Exception { when(mockRequest.getMethod()).thenReturn(HEAD); when(mockResponse.getStatusInfo()).thenReturn(OK); when(mockResponse.getHeaders()).thenReturn(mockHeaders); final CacheControlFilter filter = new CacheControlFilter(180, true, false); filter.filter(mockRequest, mockResponse); verify(mockResponse).getHeaders(); } }
responseContext.getHeaders().add(RequestDataHeaderProperties.HEADER_ID, requestData.getId()); if (responseContext.getStatusInfo().getFamily() == Family.SUCCESSFUL) { Logger logger = LoggerFactory.getLogger(resourceInfo.getResourceClass()); String interval = InterceptorUtil.intervalToString(requestData.getStartTime(), System.currentTimeMillis());
final Response.StatusType statusType = responseContext.getStatusInfo(); if (statusType != INTERNAL_SERVER_ERROR) {