@Override public Response getResponse() { return acr.getResponse(); }
/** * Adds the appropriate cors response headers to the response of * <a href="http://www.w3.org/TR/cors/#resource-requests">cors requests</a> * from a whitelisted origin. * * @param request the request. * @param containerResponse the response. * @return containerResponse */ public ContainerResponse filter(ContainerRequest request, ContainerResponse containerResponse) { if (request.getProperties().containsKey(CORS_PREFLIGHT_FAILED) || request.getProperties().containsKey(CORS_PREFLIGHT_SUCCEEDED) || extractOrigin(request) == null) { return containerResponse; } Iterable<CorsDefaults> defaults = pluginModuleTracker.getModules(); try { String origin = validateSingleOriginInWhitelist(defaults, request); Iterable<CorsDefaults> defaultsWithAllowedOrigin = allowsOrigin(defaults, origin); Response.ResponseBuilder response = Response.fromResponse(containerResponse.getResponse()); addAccessControlAllowOrigin(response, origin); conditionallyAddAccessControlAllowCredentials(response, origin, defaultsWithAllowedOrigin); addAccessControlExposeHeaders(response, getAllowedResponseHeaders(defaultsWithAllowedOrigin, origin)); containerResponse.setResponse(response.build()); return containerResponse; } catch (PreflightFailedException ex) { log.info("Unable to add CORS headers to response: " + ex.getMessage()); } return containerResponse; }
@Override public Response getResponse() { return acr.getResponse(); }
@Override public Response getResponse() { return acr.getResponse(); }
@Provider public class HeaderRewriteFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { response.setResponse(Response .fromResponse(response.getResponse()).header(HttpHeaders.CONTENT_TYPE, "text/plain").build()); return response; } }
@Override public ContainerResponse filter(final ContainerRequest request, final ContainerResponse response) { final ResponseBuilder resp = Response.fromResponse(response.getResponse()); fixCharset(response, resp); resp.header("Access-Control-Allow-Origin", "*").header( "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); final String reqHead = request .getHeaderValue("Access-Control-Request-Headers"); if (null != reqHead && !reqHead.equals(null)) { resp.header("Access-Control-Allow-Headers", reqHead); } response.setResponse(resp.build()); return response; }
@Override public ContainerResponse filter( ContainerRequest req, ContainerResponse contResp ) { ResponseBuilder resp = Response.fromResponse( contResp.getResponse()); resp .header( "Access-Control-Allow-Origin", "*" ) .header( "Access-Control-Allow-Methods", "GET, DELETE, POST, OPTIONS" ); String reqHead = req.getHeaderValue( "Access-Control-Request-Headers" ); if( ! Utils.isEmptyOrWhitespaces( reqHead )) resp.header( "Access-Control-Allow-Headers", reqHead ); contResp.setResponse( resp.build()); return contResp; } }
@Override public ContainerResponse filter(ContainerRequest containerRequest, ContainerResponse containerResponse) { LOGGER.trace("CORS filter called for request: {}", containerRequest); Response.ResponseBuilder response = Response.fromResponse(containerResponse.getResponse()); if ("OPTIONS".equals(containerRequest.getMethod())) { response.status(Status.NO_CONTENT); if (Objects.isNull(containerResponse.getHttpHeaders().get(ACCESS_CONTROL_ALLOW_ORIGIN))) response.header(ACCESS_CONTROL_ALLOW_ORIGIN, "*"); if (Objects.isNull(containerResponse.getHttpHeaders().get(ACCESS_CONTROL_ALLOW_METHODS))) response.header(ACCESS_CONTROL_ALLOW_METHODS, "GET, POST, PUT, DELETE, OPTIONS"); if (Objects.isNull(containerResponse.getHttpHeaders().get(ACCESS_CONTROL_REQUEST_METHOD))) response.header(ACCESS_CONTROL_REQUEST_METHOD, "GET, POST, PUT, DELETE, OPTIONS"); if (Objects.isNull(containerResponse.getHttpHeaders().get(ACCESS_CONTROL_MAX_AGE))) response.header(ACCESS_CONTROL_MAX_AGE, deltaSeconds); if (Objects.isNull(containerResponse.getHttpHeaders().get(CONTENT_TYPE))) response.header(CONTENT_TYPE, APPLICATION_JSON); if (Objects.isNull(containerResponse.getHttpHeaders().get(X_APPLICATION_ID))) response.header(X_APPLICATION_ID, applicationName); response.entity(null); String requestHeader = containerRequest.getHeaderValue(ACCESS_CONTROL_REQUEST_HEADERS); if (requestHeader != null) { response.header(ACCESS_CONTROL_ALLOW_HEADERS, requestHeader); } } containerResponse.setResponse(response.build()); return containerResponse; }
@Override public ContainerResponse filter(ContainerRequest request, ContainerResponse response) { if (MediaType.APPLICATION_JSON_TYPE.isCompatible(response.getMediaType()) || TEXT_JSON.isCompatible(response.getMediaType())) { response.setResponse(Response.fromResponse(response.getResponse()).type(APPLICATION_JSON_UTF8_TYPE).build()); } return response; } }
@Override public ContainerResponse filter(ContainerRequest containerRequest, ContainerResponse containerResponse) Response.ResponseBuilder response = Response.fromResponse(containerResponse.getResponse()); CorsSettings corsSettings = Utils.getComponent(CorsSettings.class);
@Provider public class CrossDomainFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest req,ContainerResponse contResp) { // TODO Auto-generated method stub ResponseBuilder resp = Response.fromResponse(contResp.getResponse()); resp.header("Access-Control-Allow-Origin", "*").header("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); String reqHead = req.getHeaderValue("Access-Control-Request-Headers"); if (null != reqHead && !reqHead.equals("")) { resp.header("Access-Control-Allow-Headers", reqHead); } contResp.setResponse(resp.build()); return contResp; } }
public class CORSFilter implements ContainerResponseFilter { public ContainerResponse filter(ContainerRequest req, ContainerResponse containerResponse) { ResponseBuilder responseBuilder = Response.fromResponse(containerResponse.getResponse()); // *(allow from all servers) OR http://example.com/ responseBuilder.header("Access-Control-Allow-Origin", "*") // As a part of the response to a request, which HTTP methods can be used during the actual request. .header("Access-Control-Allow-Methods", "API, CRUNCHIFYGET, GET, POST, PUT, UPDATE, OPTIONS") // How long the results of a request can be cached in a result cache. .header("Access-Control-Max-Age", "151200") // As part of the response to a request, which HTTP headers can be used during the actual request. .header("Access-Control-Allow-Headers", "x-requested-with,Content-Type"); String requestHeader = req.getHeaderValue("Access-Control-Request-Headers"); if (null != requestHeader && !requestHeader.equals(null)) { responseBuilder.header("Access-Control-Allow-Headers", requestHeader); } containerResponse.setResponse(responseBuilder.build()); return containerResponse; } }
package yoiur.package.security; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; import com.sun.jersey.spi.container.ContainerRequest; import com.sun.jersey.spi.container.ContainerResponse; import com.sun.jersey.spi.container.ContainerResponseFilter; public class ResponseCorsFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest req, ContainerResponse contResp) { ResponseBuilder resp = Response.fromResponse(contResp.getResponse()); resp.header("Access-Control-Allow-Origin", "*") .header("Access-Control-Allow-Methods", "GET, POST, OPTIONS"); String reqHead = req.getHeaderValue("Access-Control-Request-Headers"); if(null != reqHead && !reqHead.equals("")){ resp.header("Access-Control-Allow-Headers", reqHead); } contResp.setResponse(resp.build()); return contResp; } }
/** * {@inheritDoc} */ @Override public void build() { restContext.setHttpRequest(buildHttpRequest()); restContext.setHttpResponse(buildHttpResponse()); restContext.setResponse(containerResponse != null ? containerResponse.getResponse() : null); restContext.setSecurityContext(buildSecurityContext()); }
SuspendResponse<?> s = SuspendResponse.class.cast(JResponseAsResponse.class.cast(response.getResponse()).getJResponse()); boolean resumeOnBroadcast = resumeOnBroadcast(s.resumeOnBroadcast());
getCookieDuration(), false); Response cookieResponse = Response.fromResponse(containerResponse.getResponse()).cookie(scope).build();