@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.get().getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.get().getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@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"); } } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.get().getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
private void handleGET(ContainerRequestContext request, String key) List<MediaType> acceptableMediaTypes = request.getAcceptableMediaTypes(); if (acceptableMediaTypes != null && acceptableMediaTypes.size() > 0)
@Named public class TestFilter implements ContainerRequestFilter { private boolean globalError = true; public void filter(final ContainerRequestContext requestContext) throws IOException { if (globalError) { MediaType mediaType = requestContext.getAcceptableMediaTypes().size() > 0 ? requestContext.getAcceptableMediaTypes().get(0) : null; throw new WebApplicationException(Response.status(422).type(mediaType).entity(new TestEntity()).build()); } } }
private static boolean doNotWWWAuthenticate(ContainerRequestContext requestContext) { return "XMLHttpRequest".equals(requestContext.getHeaderString("X-Requested-With")) || requestContext.getAcceptableMediaTypes() .stream() .findFirst() .filter(m -> "image".equals(m.getType())) .isPresent(); }
@Override public List<MediaType> getAcceptableMediaTypes() { return request.getAcceptableMediaTypes(); } @Override public List<Locale> getAcceptableLanguages() { return request.getAcceptableLanguages(); }
@Override public List<MediaType> getAcceptableMediaTypes() { return request.getAcceptableMediaTypes(); } @Override public List<Locale> getAcceptableLanguages() { return request.getAcceptableLanguages(); }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.get().getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final Set<String> allowedMethods = ModelProcessorUtil.getAllowedMethods( (extendedUriInfo.getMatchedRuntimeResources().get(0))); return Response.ok() .allow(allowedMethods) .header(HttpHeaders.CONTENT_LENGTH, "0") .type(containerRequestContext.getAcceptableMediaTypes().get(0)) .build(); } }
@Override public Response apply(ContainerRequestContext containerRequestContext) { final MediaType foundMediaType = getSupportProduceMediaType(containerRequestContext); if (foundMediaType != null) { return generateRespBuilder(containerRequestContext, extendedUriInfo, foundMediaType, generators).build(); } return generateRespBuilder(extendedUriInfo, containerRequestContext.getAcceptableMediaTypes().get(0)) .header(HttpHeaders.CONTENT_LENGTH, 0) .build(); } }
@Override public void filter(final ContainerRequestContext rc) { if (!HttpMethod.GET.equals(rc.getRequest().getMethod())) { return; } final String path = rc.getUriInfo().getPath(); if ("openapi".equals(path)) { final List<MediaType> mediaTypes = rc.getAcceptableMediaTypes(); rc.abortWith(Response.ok(openApi).type(selectType(mediaTypes)).build()); } if ("openapi.json".equals(path)) { rc.abortWith(Response.ok(openApi).type(APPLICATION_JSON_TYPE).build()); } if ("openapi.yml".equals(path) || "openapi.yaml".equals(path)) { rc.abortWith(Response.ok(openApi).type("text/vnd.yaml").build()); } }
import java.io.IOException; import java.lang.annotation.Annotation; import java.util.List; import javax.ws.rs.container.ContainerRequestContext; import javax.ws.rs.container.ContainerResponseContext; import javax.ws.rs.container.ContainerResponseFilter; import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.Provider; @Provider public class EntityResponseFilter implements ContainerResponseFilter { @Override public void filter( ContainerRequestContext reqc , ContainerResponseContext resc ) throws IOException { MediaType mediaType = this.getMediaTypeFromExtentionOrHeader(); // TODO List<MediaType> mediaTypes = reqc.getAcceptableMediaTypes(); if( mediaTypes.contains(mediaType) ) { resc.setEntity( resc.getEntity(), new Annotation[0], mediaType ); } // ... } }
/** * {@inheritDoc} */ @Override public boolean isWriteable(final Class<?> type, final Type genericType, final Annotation[] annotations, final MediaType mediaType) { String[] p; return !dataViewDisabled && -1 != ListUtils.indexOf(requestProvider.get().getAcceptableMediaTypes(), this::isSupportMediaType) && ((p = TemplateHelper.getProduces(annotations)) == null || -1 != ArrayUtils.indexOf(p, (Predicate<String>) stringType -> { if (stringType.equals(MediaType.WILDCARD)) return true; MediaType mediaType1 = MediaType.valueOf(stringType); return isSupportMediaType(mediaType1); })); }
public RequestContext(ContainerRequestContext context, HttpServletRequest request, HttpServletResponse response) { this.context = context; if(context != null) { headers(context.getHeaders()); mediaType(context.getMediaType()); acceptableMediaTypes(context.getAcceptableMediaTypes()); } this.request = request; if (request != null) { this.remoteAddr = request.getRemoteAddr(); } this.response = response; }
public RequestContext(ContainerRequestContext context, HttpServletRequest request, HttpServletResponse response) { this.context = context; if(context != null) { headers(context.getHeaders()); mediaType(context.getMediaType()); acceptableMediaTypes(context.getAcceptableMediaTypes()); } this.request = request; if (request != null) { this.remoteAddr = request.getRemoteAddr(); } this.response = response; }
@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"); } } }