Java 类javax.ws.rs.container.ContainerResponseContext 实例源码
项目:launcher-backend
文件:CorsFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
String origin = requestContext.getHeaderString(ORIGIN);
if (origin == null || requestContext.getMethod().equalsIgnoreCase("OPTIONS")
|| requestContext.getProperty("cors.failure") != null) {
// don't do anything if origin is null, its an OPTIONS request, or cors.failure is set
return;
}
responseContext.getHeaders().putSingle(ACCESS_CONTROL_ALLOW_ORIGIN, origin);
if (allowCredentials)
responseContext.getHeaders().putSingle(ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
if (exposedHeaders != null) {
responseContext.getHeaders().putSingle(ACCESS_CONTROL_EXPOSE_HEADERS, exposedHeaders);
}
}
项目:Graphene
文件:CORSFilter.java
@Override
public void filter(
ContainerRequestContext containerRequestContext,
ContainerResponseContext containerResponseContext) throws IOException {
MultivaluedMap<String, Object> headers = containerResponseContext.getHeaders();
headers.add(
"Access-Control-Allow-Origin",
"*");
headers.add(
"Access-Control-Allow-Methods",
"GET, POST, OPTIONS");
headers.add(
"Access-Control-Allow-Headers",
"Cache-Control, X-Requested-With, Origin, Content-Type, Accept, Authorization");
}
项目:trellis
文件:MultipartUploader.java
@Override
public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException {
if (READ_METHODS.contains(req.getMethod())) {
if (res.getLinks().stream().filter(l -> l.getRel().equals(TYPE)).map(Link::getUri).map(URI::toString)
.anyMatch(uri -> uri.equals(Container.getIRIString()) || uri.equals(NonRDFSource.getIRIString()))) {
final String urlBase = nonNull(baseUrl) ? baseUrl : req.getUriInfo().getBaseUri().toString();
final String identifier = urlBase + req.getUriInfo().getPath();
res.getHeaders().add("Link", fromUri(identifier + "?ext=" + UPLOADS)
.rel(multipartUploadService.getIRIString()).build());
}
final List<String> exts = req.getUriInfo().getQueryParameters().getOrDefault("ext", emptyList());
if (exts.contains(UPLOADS)) {
res.getHeaders().putSingle(ALLOW, join(",", POST, OPTIONS));
}
}
}
项目:Alpine
文件:PrettyPrintFilter.java
@Override
public void filter(ContainerRequestContext reqCtx, ContainerResponseContext respCtx) throws IOException {
final UriInfo uriInfo = reqCtx.getUriInfo();
final MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters();
if (queryParameters.containsKey("pretty")) {
ObjectWriterInjector.set(new IndentingModifier());
}
}
项目:haystack-client-java
文件:ServerFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
if (!shouldFilter(requestContext, resourceInfo)) {
// do nothing if the filter doesn't apply
return;
}
try {
Span span = (Span) requestContext.getProperty(SERVER_SPAN_CONTEXT_KEY);
if (span != null) {
span.setTag(Tags.HTTP_STATUS.getKey(), responseContext.getStatus());
span.finish();
}
} catch (Exception e) {
LOGGER.error("Server Response Filter failed", e);
}
}
项目:SpanEE
文件:SpanEEContainerRequestFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
System.out.println("Response = " + requestContext + " " + responseContext);
Long start = concurrentRequests.get(requestContext);
concurrentRequests.remove(requestContext);
long duration = (System.nanoTime() - start);
System.out.println("Duration: " + duration);
UriInfo uriInfo = requestContext.getUriInfo();
String ipv4 = extractIpAddress(uriInfo);
System.out.println("ipv4 = " + ipv4);
String serviceName = extractServiceName(uriInfo);
System.out.println("serviceName = " + serviceName);
String spanName = extractSpanName(uriInfo);
System.out.println("spanName = " + spanName);
Optional<String> traceId = extractTraceId(requestContext);
String spanId = traceId.map(id -> this.tracee.saveChildSpan(id, spanName, serviceName, ipv4, 0)).
orElseGet(() -> this.tracee.saveParentSpan(spanName, serviceName, ipv4, duration));
System.out.println("Storing span id: " + spanId);
storeSpandId(responseContext, spanId);
}
项目:minijax
文件:MinijaxCorsFilter.java
/**
* Adds the HTTP head "Access-Control-Allow-Origin: *" to enable
* all cross domain requests.
*/
private static void allowCors(final ContainerRequestContext request, final ContainerResponseContext response) {
final String origin = request.getHeaderString("Origin");
if (origin == null) {
return;
}
response.getHeaders().add("Access-Control-Allow-Origin", "*");
response.getHeaders().add("Access-Control-Allow-Credentials", "true");
response.getHeaders().add("Access-Control-Allow-Methods", "GET, HEAD, OPTIONS, PATCH, POST, PUT, DELETE");
final String headers = request.getHeaderString("Access-Control-Request-Headers");
if (headers != null) {
response.getHeaders().add("Access-Control-Allow-Headers", UrlUtils.urlDecode(headers));
}
}
项目:bootstrap
文件:NotFoundResponseFilterTest.java
@SuppressWarnings("rawtypes")
@Test
public void filter404SingleParameter() {
final ContainerRequestContext requestContext = Mockito.mock(ContainerRequestContext.class);
final ContainerResponseContext responseContext = Mockito.mock(ContainerResponseContext.class);
Mockito.when(responseContext.getStatus()).thenReturn(204);
final Annotation anno1 = Mockito.mock(Annotation.class);
final Annotation anno2 = Mockito.mock(Annotation.class);
final Annotation[] annotations = new Annotation[] { anno1, anno2 };
Mockito.when((Class) anno2.annotationType()).thenReturn(OnNullReturn404.class);
Mockito.when(responseContext.getEntityAnnotations()).thenReturn(annotations);
final UriInfo uriInfo = Mockito.mock(UriInfo.class);
final MultivaluedMap<String, String> parameters = new MultivaluedHashMap<>();
parameters.putSingle("id", "2000");
Mockito.when(uriInfo.getPathParameters()).thenReturn(parameters);
Mockito.when(requestContext.getUriInfo()).thenReturn(uriInfo);
filter.filter(requestContext, responseContext);
Mockito.verify(responseContext, VerificationModeFactory.atLeastOnce()).setStatus(404);
Mockito.verify(responseContext, VerificationModeFactory.atLeastOnce()).setEntity(
"{\"code\":\"entity\",\"message\":\"2000\",\"parameters\":null,\"cause\":null}", annotations, MediaType.APPLICATION_JSON_TYPE);
}
项目:bootstrap
文件:NotFoundResponseFilterTest.java
@SuppressWarnings("rawtypes")
@Test
public void filter404NoParameter() {
final ContainerRequestContext requestContext = Mockito.mock(ContainerRequestContext.class);
final ContainerResponseContext responseContext = Mockito.mock(ContainerResponseContext.class);
Mockito.when(responseContext.getStatus()).thenReturn(204);
final Annotation anno1 = Mockito.mock(Annotation.class);
final Annotation anno2 = Mockito.mock(Annotation.class);
final Annotation[] annotations = new Annotation[] { anno1, anno2 };
Mockito.when((Class) anno2.annotationType()).thenReturn(OnNullReturn404.class);
Mockito.when(responseContext.getEntityAnnotations()).thenReturn(annotations);
final UriInfo uriInfo = Mockito.mock(UriInfo.class);
final MultivaluedMap<String, String> parameters = new MultivaluedHashMap<>();
Mockito.when(uriInfo.getPathParameters()).thenReturn(parameters);
Mockito.when(requestContext.getUriInfo()).thenReturn(uriInfo);
filter.filter(requestContext, responseContext);
Mockito.verify(responseContext, VerificationModeFactory.atLeastOnce()).setStatus(404);
Mockito.verify(responseContext, VerificationModeFactory.atLeastOnce())
.setEntity("{\"code\":\"data\",\"message\":null,\"parameters\":null,\"cause\":null}", annotations, MediaType.APPLICATION_JSON_TYPE);
}
项目:rest-jersey-utils
文件:SimpleAccessControlAllowHeaderFilter.java
@Override
public void filter(ContainerRequestContext containerRequestContext,
ContainerResponseContext containerResponseContext) throws IOException {
MultivaluedMap<String, Object> headers = containerResponseContext.getHeaders();
headers.add(ACCESS_CONTROL_ALLOW_HEADERS, "orgin");
headers.add(ACCESS_CONTROL_ALLOW_HEADERS, "content-type");
headers.add(ACCESS_CONTROL_ALLOW_HEADERS, "accept");
headers.add(ACCESS_CONTROL_ALLOW_HEADERS, "authorization");
customHeaders.forEach(s -> headers.add(ACCESS_CONTROL_ALLOW_HEADERS, s));
// make sure there's only one header with this name
String headerString = (String) headers.get(ACCESS_CONTROL_ALLOW_HEADERS).stream()
.reduce((a, b) -> a.toString() + ", " + b.toString()).get();
headers.putSingle(ACCESS_CONTROL_ALLOW_HEADERS, headerString);
headers.putSingle("Access-Control-Allow-Credentials", "true");
headers.putSingle("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
}
项目:devoxx-2017
文件:CrossDomainFilter.java
@Override
public void filter(ContainerRequestContext request, ContainerResponseContext response) {
String path = request.getUriInfo().getRequestUri().getPath();
LOG.fine(String.format("Received request : crossdomain for %s", path));
// TODO : disable for production
// *** ONLY FOR DEMO ***
// response.getHeaders().add("Access-Control-Allow-Origin", "http://localhost:3002");
response.getHeaders().add("Access-Control-Allow-Origin", "*");
response.getHeaders().add("Access-Control-Allow-Headers", "Content-Range, Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
response.getHeaders().add("Access-Control-Expose-Headers", "Content-Range, Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
// response.getHeaders().add("Access-Control-Allow-Credentials", "http://localhost:3002");
response.getHeaders().add("Access-Control-Allow-Credentials", "*");
response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH");
response.getHeaders().add("Access-Control-Max-Age", "*");
}
项目:microbule
文件:ContainerCacheFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
final EntityTag entityTag = getEntityTag(responseContext);
final Date lastModified = getLastModified(responseContext);
responseContext.getHeaders().putSingle(HttpHeaders.CACHE_CONTROL, cacheControl);
writeHeader(responseContext, HttpHeaders.ETAG, entityTag);
writeHeader(responseContext, HttpHeaders.LAST_MODIFIED, lastModified == null ? null : HttpUtils.getHttpDateFormat().format(lastModified));
final Response.ResponseBuilder builder = evaluatePreconditions(requestContext, entityTag, lastModified);
if (builder != null) {
responseContext.setStatusInfo(Response.Status.NO_CONTENT);
responseContext.setEntity(null);
}
}
项目:ozark
文件:RedirectScopeManager.java
/**
* Upon detecting a redirect, either add cookie to response or re-write URL of new
* location to co-relate next request.
*
* @param event the event.
*/
public void controllerRedirectEvent(@Observes ControllerRedirectEvent event) {
if (request.getAttribute(SCOPE_ID) != null) {
if (usingCookies()) {
Cookie cookie = new Cookie(COOKIE_NAME, request.getAttribute(SCOPE_ID).toString());
cookie.setPath(mvc.getContextPath());
cookie.setMaxAge(600);
cookie.setHttpOnly(true);
response.addCookie(cookie);
} else {
final ContainerResponseContext crc = ((ControllerRedirectEventImpl) event).getContainerResponseContext();
final UriBuilder builder = UriBuilder.fromUri(crc.getStringHeaders().getFirst(HttpHeaders.LOCATION));
builder.queryParam(SCOPE_ID, request.getAttribute(SCOPE_ID).toString());
crc.getHeaders().putSingle(HttpHeaders.LOCATION, builder.build());
}
}
}
项目:sealion
文件:SecurityResponseHeaders.java
@Override
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException {
MultivaluedMap<String, Object> headers = responseContext.getHeaders();
//生成元が異なる場合frame要素やiframe要素の内部に表示しない
headers.add("X-Frame-Options", "SAMEORIGIN");
//Content-Typeの自動判別防止
headers.add("X-Content-Type-Options", "nosniff");
//XSSフィルターを有効化する
headers.add("X-XSS-Protection", "1; mode=block");
//リソースの取得元を生成元のみに制限する
//画像は生成元に加えてgravatarも許可する
headers.add("Content-Security-Policy",
"default-src 'self'; img-src 'self' www.gravatar.com");
}
项目:launchpad-backend
文件:CorsFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException
{
String origin = requestContext.getHeaderString(ORIGIN);
if (origin == null || requestContext.getMethod().equalsIgnoreCase("OPTIONS")
|| requestContext.getProperty("cors.failure") != null)
{
// don't do anything if origin is null, its an OPTIONS request, or cors.failure is set
return;
}
responseContext.getHeaders().putSingle(ACCESS_CONTROL_ALLOW_ORIGIN, origin);
if (allowCredentials)
responseContext.getHeaders().putSingle(ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
if (exposedHeaders != null)
{
responseContext.getHeaders().putSingle(ACCESS_CONTROL_EXPOSE_HEADERS, exposedHeaders);
}
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_AnyOriginAndAllowCredentialsGiven_AddsPassedOriginAndVaryHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.allowCredentials()
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertEquals(DEFAULT_ORIGIN, headers.getFirst(CorsHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
assertEquals(CorsHeaders.ORIGIN, headers.getFirst(HttpHeaders.VARY));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_OriginAndAllowCredentialsGiven_AddsPassedOriginAndVaryHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.allowOrigin(DEFAULT_ORIGIN)
.allowCredentials()
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertEquals(DEFAULT_ORIGIN, headers.getFirst(CorsHeaders.ACCESS_CONTROL_ALLOW_ORIGIN));
assertEquals(CorsHeaders.ORIGIN, headers.getFirst(HttpHeaders.VARY));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_AllowCredentialsGiven_AddsAllowCredentialHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.allowCredentials()
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertEquals("true", headers.getFirst(CorsHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS));
assertEquals(CorsHeaders.ORIGIN, headers.getFirst(HttpHeaders.VARY));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_DisallowCredentialsGiven_DoesNotAddAllowCredentialHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.disallowCredentials()
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertNull(headers.getFirst(CorsHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_NoExposedHeadersGiven_DoesNotAddExposeHeadersHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertNull(headers.getFirst(CorsHeaders.ACCESS_CONTROL_EXPOSE_HEADERS));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_EmptyExposedHeadersGiven_DoesNotAddExposeHeadersHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.exposeHeaders(Collections.emptySet())
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertNull(headers.getFirst(CorsHeaders.ACCESS_CONTROL_EXPOSE_HEADERS));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:jrestless
文件:CorsFilterTest.java
@Test
public void corsResponseFilter_ExposedHeadersGiven_AddsExposeHeadersHeader() throws IOException {
CorsFilter filter = new CorsFilter.Builder()
.exposeHeader("h1")
.exposeHeader("h2")
.build();
ContainerRequestContext request = createActualRequestMock(DEFAULT_HOST, DEFAULT_ORIGIN, HttpMethod.GET);
ContainerResponseContext response = mock(ContainerResponseContext.class);
MultivaluedMap<String, Object> headers = new MultivaluedHashMap<>();
when(response.getHeaders()).thenReturn(headers);
filter.filter(request, response);
assertEquals("h1,h2", headers.getFirst(CorsHeaders.ACCESS_CONTROL_EXPOSE_HEADERS));
verify(response).getHeaders();
verifyZeroInteractions(response);
}
项目:Purifinity
文件:CORSFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
MultivaluedMap<String, Object> headers = responseContext.getHeaders();
// Allow from all origins...
if (!headers.containsKey("Access-Control-Allow-Origin")) {
headers.add("Access-Control-Allow-Origin", "*");
}
// Allow changing the following headers...
if (!headers.containsKey("Access-Control-Allow-Headers")) {
headers.add("Access-Control-Allow-Headers", "Content-Type, auth-id, auth-token");
}
// Allow credentials...
if (!headers.containsKey("Access-Control-Allow-Credentials")) {
headers.add("Access-Control-Allow-Credentials", "true");
}
// Allow methods...
if (!headers.containsKey("Access-Control-Allow-Methods")) {
headers.add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
// Max 14 days...
if (!headers.containsKey("Access-Control-Max-Age")) {
headers.add("Access-Control-Max-Age", "1209600");
}
}
项目:EDDI
文件:ContentTypeInterceptor.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
String currentResourceURI = requestContext.getUriInfo().getPath();
if (currentResourceURI.startsWith("/editor") ||
currentResourceURI.startsWith("/text") ||
currentResourceURI.startsWith("/binary") ||
currentResourceURI.startsWith("/audio")) {
String fileExtension = currentResourceURI.substring(currentResourceURI.lastIndexOf(".") + 1, currentResourceURI.length());
String mimeType = mimeTypes.get(fileExtension);
if (mimeType == null) {
mimeType = DEFAULT_MIME_TYPE;
}
List<Object> contentTypeHeader = responseContext.getHeaders().get(CONTENT_TYPE_HEADER);
if (contentTypeHeader != null && !mimeType.equals(DEFAULT_MIME_TYPE)) {
contentTypeHeader.clear();
}
if (contentTypeHeader == null || contentTypeHeader.isEmpty()) {
responseContext.getHeaders().add(CONTENT_TYPE_HEADER, mimeType);
}
}
}
项目:mapr-music
文件:CORSFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext cres) throws IOException {
cres.getHeaders().add("Access-Control-Allow-Origin", "*");
cres.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
cres.getHeaders().add("Access-Control-Allow-Credentials", "true");
cres.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
cres.getHeaders().add("Access-Control-Max-Age", "1209600");
}
项目:trellis
文件:CacheControlFilter.java
@Override
public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException {
if (req.getMethod().equals(GET)) {
final CacheControl cc = new CacheControl();
cc.setMaxAge(cacheAge);
res.getHeaders().add(CACHE_CONTROL, cc);
}
}
项目:trellis
文件:WebAcFilter.java
@Override
public void filter(final ContainerRequestContext req, final ContainerResponseContext res) throws IOException {
if (!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());
}
}
项目:docker-restful-java
文件:CORSFilter.java
@Override
public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException {
containerResponseContext.getHeaders().putSingle("Access-Control-Allow-Origin", "*");
containerResponseContext.getHeaders().putSingle("Access-Control-Allow-Credentials", "true");
containerResponseContext.getHeaders().putSingle("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD");
containerResponseContext.getHeaders().putSingle("Access-Control-Allow-Headers", "Origin, Content-Type, Accept, X-Requested-With, Authorization");
}
项目:wechat-mall
文件:LoggingResponseFilter.java
public void filter(ContainerRequestContext requestContext,
ContainerResponseContext responseContext) throws IOException {
String method = requestContext.getMethod();
logger.debug("Requesting " + method + " for path " + requestContext.getUriInfo().getPath());
Object entity = responseContext.getEntity();
if (entity != null) {
logger.debug("Response " + new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(entity));
}
}
项目:wechat-mall
文件:CORSResponseFilter.java
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
MultivaluedMap<String, Object> headers = responseContext.getHeaders();
headers.add("Access-Control-Allow-Origin", "*");
headers.add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT");
headers.add("Access-Control-Allow-Headers", "X-Requested-With, Content-Type, X-Codingpedia");
}
项目:beadledom
文件:CorrelationIdFilter.java
@Override
public void filter(
ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws
IOException {
MDC.remove(mdcName);
String correlationId = (String) requestContext.getProperty(mdcName);
if (correlationId == null) { // Can happen if there are oauth issues.
correlationId = UUID.randomUUID().toString();
}
responseContext.getHeaders().add(headerName, correlationId);
}
项目:sirh-gestion-personnel
文件:CorsFilter.java
@Override
public void filter(final ContainerRequestContext requestContext,
final ContainerResponseContext cres) throws IOException {
cres.getHeaders().add("Access-Control-Allow-Origin", "*");
cres.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
cres.getHeaders().add("Access-Control-Allow-Credentials", "true");
cres.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
cres.getHeaders().add("Access-Control-Max-Age", "1209600");
}
项目:json-log-domain
文件:LogFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext context) throws IOException {
UriInfo uriInfo = requestContext.getUriInfo();
List<PathSegment> pathSegments = uriInfo.getPathSegments();
if(pathSegments != null && !pathSegments.isEmpty()) {
mdc.remove();
}
}
项目:redpipe
文件:TemplateResponseFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext)
throws IOException {
if(responseContext.getEntityClass() == Template.class) {
SuspendableContainerResponseContext ctx = (SuspendableContainerResponseContext) responseContext;
ctx.suspend();
Template template = (Template) responseContext.getEntity();
template.render().subscribe(resp -> {
ctx.setEntity(resp.getEntity());
ctx.setStatus(resp.getStatus());
ctx.resume();
}, err -> ctx.resume(err));
}
}
项目:apm-client
文件:TraceContainerFilterTest.java
public Span test(String clientTraceId, String clientSpanId, int statusCode) throws Exception {
TracerTestImpl tracer = new TracerTestImpl();
ResourceInfo resourceInfo = Mockito.mock(ResourceInfo.class);
Method method = TraceContainerFilterTest.class.getMethod("testNoClientTrace");
Mockito.when(resourceInfo.getResourceMethod()).thenReturn(method);
Mockito.when(resourceInfo.getResourceClass()).thenReturn((Class)method.getDeclaringClass());
TraceContainerFilter scf = new TraceContainerFilter();
scf.setTracer(tracer);
scf.resourceInfo = resourceInfo;
UriInfo uriInfo = Mockito.mock(UriInfo.class);
Mockito.when(uriInfo.getRequestUri()).thenReturn(new URI("https://example.com:7110/some/path"));
Mockito.when(uriInfo.getPath()).thenReturn("/path");
ContainerRequestContext requestContext = Mockito.mock(ContainerRequestContext.class);
Mockito.when(requestContext.getUriInfo()).thenReturn(uriInfo);
Mockito.when(requestContext.getMethod()).thenReturn("GET");
Mockito.when(requestContext.getHeaderString(Mockito.eq(TracerImpl.SPAN_ID))).thenReturn(clientSpanId);
Mockito.when(requestContext.getHeaderString(Mockito.eq(TracerImpl.TRACE_ID))).thenReturn(clientTraceId);
scf.filter(requestContext);
Assert.assertNotNull(tracer.getCurrentSpan());
ContainerResponseContext responseContext = Mockito.mock(ContainerResponseContext.class);
Mockito.when(responseContext.getEntityAnnotations()).thenReturn(new Annotation[]{});
Mockito.when(responseContext.getStatus()).thenReturn(statusCode);
scf.filter(requestContext, responseContext);
Assert.assertNull(tracer.getCurrentSpan());
Span span = tracer.getCapturedSpan();
Assert.assertEquals("service", span.getService());
Assert.assertEquals("TraceContainerFilterTest", span.getResource());
Assert.assertEquals("testNoClientTrace", span.getOperation());
return span;
}
项目:app-ms
文件:VertxRequestContextFilter.java
@Override
public void filter(final ContainerRequestContext requestContext,
final ContainerResponseContext responseContext)
throws IOException {
ContainerRequestScope.resetRequestContext();
}
项目:flightmanager
文件:ResponseFilter.java
@Override
public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException {
response.getHeaders().add("Access-Control-Allow-Origin", "*");
response.getHeaders().add("Access-Control-Allow-Credentials", "true" );
response.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
response.getHeaders().add("Access-Control-Allow-Headers", HTTPHeaderNames.USERNAME + ", " + HTTPHeaderNames.PASSWORD);
}
项目:Biliomi
文件:InCORSFilter.java
@Override
public void filter(ContainerRequestContext containerRequestContext, ContainerResponseContext containerResponseContext) throws IOException {
MultivaluedMap<String, Object> headers = containerResponseContext.getHeaders();
headers.add("Access-Control-Allow-Origin", containerRequestContext.getHeaders().getFirst("Origin"));
headers.add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
headers.add("Access-Control-Allow-Credentials", "true");
headers.add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
项目:danish-jug
文件:CORSFilter.java
@Override
public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
responseContext.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type, accept, authorization");
responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true");
responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
responseContext.getHeaders().add("Access-Control-Max-Age", "1209600");
}
项目:traccar-service
文件:CorsResponseFilter.java
@Override
public void filter(ContainerRequestContext request, ContainerResponseContext response) throws IOException {
if (!response.getHeaders().containsKey(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_HEADERS)) {
response.getHeaders().add(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_HEADERS, HEADERS_ALL);
}
if (!response.getHeaders().containsKey(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_CREDENTIALS)) {
response.getHeaders().add(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_CREDENTIALS, true);
}
if (!response.getHeaders().containsKey(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_METHODS)) {
response.getHeaders().add(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_METHODS, METHODS_ALL);
}
if (!response.getHeaders().containsKey(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_ORIGIN)) {
String origin = request.getHeaderString(HttpHeaders.Names.ORIGIN);
String allowed = Context.getConfig().getString("web.origin");
if (origin == null) {
response.getHeaders().add(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_ALL);
} else if (allowed == null || allowed.equals(ORIGIN_ALL) || allowed.contains(origin)) {
response.getHeaders().add(HttpHeaders.Names.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
}
}
}