Java 类javax.ws.rs.container.ContainerResponseFilter 实例源码

项目:aries-jax-rs-whiteboard    文件:JaxrsTest.java   
@Test
public void testExtensionWithoutAName() {
    Dictionary<String, Object> properties = new Hashtable<>();

    properties.put(JAX_RS_EXTENSION, true);

    ServiceRegistration<ContainerResponseFilter> registration =
        bundleContext.registerService(
            ContainerResponseFilter.class, new TestFilter(), properties);

    try {
        RuntimeDTO runtimeDTO = _runtime.getRuntimeDTO();

        assertEquals(
            (long)registration.getReference().getProperty("service.id"),
            runtimeDTO.defaultApplication.extensionDTOs[0].serviceId);
    }
    finally {
        registration.unregister();
    }

}
项目:pinot    文件:ControllerAdminApiApplication.java   
public ControllerAdminApiApplication(String consoleWebPath) {
    super();
    CONSOLE_WEB_PATH = consoleWebPath;
    if (!CONSOLE_WEB_PATH.endsWith("/")) {
      CONSOLE_WEB_PATH += "/";
    }
    packages(RESOURCE_PACKAGE);
    // TODO See ControllerResponseFilter
//    register(new LoggingFeature());
    register(JacksonFeature.class);
    register(MultiPartFeature.class);
    registerClasses(io.swagger.jaxrs.listing.ApiListingResource.class);
    registerClasses(io.swagger.jaxrs.listing.SwaggerSerializers.class);
    register(new ContainerResponseFilter() {
      @Override
      public void filter(ContainerRequestContext containerRequestContext,
          ContainerResponseContext containerResponseContext)
          throws IOException {
        containerResponseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
      }
    });
    // property("jersey.config.server.tracing.type", "ALL");
    // property("jersey.config.server.tracing.threshold", "VERBOSE");
  }
项目:pinot    文件:AdminApiApplication.java   
public AdminApiApplication(ServerInstance instance) {
  this.serverInstance = instance;
  packages(RESOURCE_PACKAGE);
  register(new AbstractBinder() {
    @Override
    protected void configure() {
      bind(serverInstance).to(ServerInstance.class);
    }
  });

  register(JacksonFeature.class);

  registerClasses(io.swagger.jaxrs.listing.ApiListingResource.class);
  registerClasses(io.swagger.jaxrs.listing.SwaggerSerializers.class);
  register(new ContainerResponseFilter() {
    @Override
    public void filter(ContainerRequestContext containerRequestContext,
        ContainerResponseContext containerResponseContext)
        throws IOException {
      containerResponseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
    }
  });

}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final ContainerResponsePredicate predicate,
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final Function<ContainerRequestAndResponse, DateTime> determineTimestamp,
        final WritingWorkerManager<T> writingWorkerManager,
        final boolean skipNulls)
{
    final Recorder<ContainerRequestAndResponse> recorder = new BasicRecorder<>(
            predicate,
            extractData,
            transform,
            determineTimestamp,
            writingWorkerManager,
            skipNulls);
    return buildResponseFilter(recorder);
}
项目:minijax    文件:MinijaxApplication.java   
@SuppressWarnings("unchecked")
private void registerFilter(final Class<?> c) {
    if (ContainerRequestFilter.class.isAssignableFrom(c)) {
        requestFilters.add((Class<? extends ContainerRequestFilter>) c);
    }

    if (ContainerResponseFilter.class.isAssignableFrom(c)) {
        responseFilters.add((Class<? extends ContainerResponseFilter>) c);
    }
}
项目:minijax    文件:MinijaxApplication.java   
private void runResponseFilters(final MinijaxRequestContext context, final Response response) throws IOException {
    final ContainerResponseContext responseContext = (ContainerResponseContext) response;
    for (final Class<? extends ContainerResponseFilter> filterClass : responseFilters) {
        final ContainerResponseFilter filter = get(filterClass);
        filter.filter(context, responseContext);
    }
}
项目:com-liferay-apio-architect    文件:ApioApplication.java   
@Reference(
    cardinality = MULTIPLE, policyOption = GREEDY,
    target = "(liferay.apio.architect.container.response.filter=true)"
)
public void setContainerResponseFilter(
    ServiceReference<ContainerResponseFilter> serviceReference,
    ContainerResponseFilter containerResponseFilter) {

    _containerResponseFilters.add(containerResponseFilter);
}
项目:com-liferay-apio-architect    文件:ApioApplication.java   
@SuppressWarnings("unused")
public <T> void unsetContainerResponseFilter(
    ServiceReference<ContainerResponseFilter> serviceReference,
    ContainerResponseFilter containerResponseFilter) {

    _containerResponseFilters.remove(containerResponseFilter);
}
项目:sealion    文件:UIResponseProvider.java   
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {

    Method resourceMethod = resourceInfo.getResourceMethod();
    if (resourceMethod.getReturnType() != Optional.class) {
        return;
    }

    Type returnType = resourceMethod.getGenericReturnType();
    if ((returnType instanceof ParameterizedType) == false) {
        return;
    }

    ParameterizedType pt = (ParameterizedType) returnType;
    if (pt.getActualTypeArguments()[0] != UIResponse.class) {
        return;
    }

    context.register(new ContainerResponseFilter() {

        @Override
        public void filter(ContainerRequestContext requestContext,
                ContainerResponseContext responseContext) throws IOException {
            if (responseContext.hasEntity() == false) {
                return;
            }
            Optional<?> opt = (Optional<?>) responseContext.getEntity();
            responseContext.setEntity(opt.orElse(null));
            responseContext.setStatusInfo(
                    opt.map(a -> responseContext.getStatusInfo()).orElse(Status.NOT_FOUND));
        }
    });
}
项目:tomee    文件:RESTService.java   
private static <T> boolean isProvider(final Class<T> clazz) {
    return MessageBodyReader.class.isAssignableFrom(clazz) ||
            MessageBodyWriter.class.isAssignableFrom(clazz) ||
            ParamConverter.class.isAssignableFrom(clazz) ||
            ContainerRequestFilter.class.isAssignableFrom(clazz) ||
            ContainerResponseFilter.class.isAssignableFrom(clazz) ||
            ReaderInterceptor.class.isAssignableFrom(clazz) ||
            WriterInterceptor.class.isAssignableFrom(clazz) ||
            ParamConverterProvider.class.isAssignableFrom(clazz) ||
            ContextResolver.class.isAssignableFrom(clazz) ||
            new MetaAnnotatedClass<>(clazz).isAnnotationPresent(Provider.class);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final Recorder<ContainerRequestAndResponse> recorder)
{
    return new ContainerResponseFilter() {
        @Override
        public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
            recorder.record(new ContainerRequestAndResponse(requestContext, responseContext));
        }
    };
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final Function<ContainerRequestAndResponse, DateTime> determineTimestamp,
        final WritingWorkerManager<T> writingWorkerManager,
        boolean skipNulls)
{
    return buildResponseFilter(ContainerResponsePredicateBuilder.ALWAYS, extractData, transform, determineTimestamp, writingWorkerManager, skipNulls);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final WritingWorkerManager<T> writingWorkerManager,
        final boolean skipNulls)
{
    return buildResponseFilter(extractData, transform, RecorderFilterFactory.EXTRACT_REQUEST_TIMESTAMP_CRAR, writingWorkerManager, skipNulls);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final ContainerResponsePredicate predicate,
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final WritingWorkerManager<T> writingWorkerManager,
        final boolean skipNulls)
{
    return buildResponseFilter(predicate, extractData, transform, RecorderFilterFactory.EXTRACT_REQUEST_TIMESTAMP_CRAR, writingWorkerManager, skipNulls);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
    final ContainerResponsePredicate predicate,
    final Function<ContainerRequestAndResponse, F> extractData,
    final Function<F,T> transform,
    final Function<ContainerRequestAndResponse, DateTime> determineTimestamp,
    final WritingWorkerManager<T> writingWorkerManager)
{
    return buildResponseFilter(predicate, extractData, transform, determineTimestamp, writingWorkerManager, false);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final Function<ContainerRequestAndResponse, DateTime> determineTimestamp,
        final WritingWorkerManager<T> writingWorkerManager)
{
    return buildResponseFilter(ContainerResponsePredicateBuilder.ALWAYS, extractData, transform, determineTimestamp, writingWorkerManager, false);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final WritingWorkerManager<T> writingWorkerManager)
{
    return buildResponseFilter(extractData, transform, RecorderFilterFactory.EXTRACT_REQUEST_TIMESTAMP_CRAR, writingWorkerManager, false);
}
项目:skid-road    文件:RecorderFilterFactory.java   
public static <F,T> ContainerResponseFilter buildResponseFilter(
        final ContainerResponsePredicate predicate,
        final Function<ContainerRequestAndResponse, F> extractData,
        final Function<F,T> transform,
        final WritingWorkerManager<T> writingWorkerManager)
{
    return buildResponseFilter(predicate, extractData, transform, RecorderFilterFactory.EXTRACT_REQUEST_TIMESTAMP_CRAR, writingWorkerManager, false);
}
项目:app-ms    文件:VertxAsynchronousResponse.java   
@Override
public ContainerResponseFilter[] getResponseFilters() {

    return responseFilters;
}
项目:app-ms    文件:VertxAsynchronousResponse.java   
@Override
public void setResponseFilters(final ContainerResponseFilter[] responseFilters) {

    this.responseFilters = responseFilters;
}
项目:webserver    文件:WebServerIntegrationTest.java   
ContainerResponseFilter xPoweredByFilter() {
  return (req, res) -> res.getHeaders().add("X-Powered-By", "UnitTest-Webserver (1.0-SNAPSHOT)");
}
项目:aries-jax-rs-whiteboard    文件:JaxrsTest.java   
private ServiceRegistration<?> registerExtension(
    String name, Object... keyValues) {

    TestFilter testFilter = new TestFilter();

    Dictionary<String, Object> properties = new Hashtable<>();

    properties.put(JAX_RS_EXTENSION, true);
    properties.put(JAX_RS_NAME, name);

    for (int i = 0; i < keyValues.length; i = i + 2) {
        properties.put(keyValues[i].toString(), keyValues[i + 1]);
    }

    ServiceRegistration<ContainerResponseFilter> serviceRegistration =
        bundleContext.registerService(
            ContainerResponseFilter.class, testFilter, properties);

    _registrations.add(serviceRegistration);

    return serviceRegistration;
}
项目:routing-bird    文件:JerseyEndpoints.java   
public JerseyEndpoints addContainerResponseFilter(ContainerResponseFilter containerResponseFilter) {
    containerResponseFilters.add(containerResponseFilter);
    return this;
}
项目:routing-bird    文件:JerseyEndpoints.java   
@Override
public Handler getHandler(final Server server, String context, String applicationName) {
    ResourceConfig rc = new ResourceConfig();

    if (enableSwagger) {
        BeanConfig beanConfig = new BeanConfig();
        beanConfig.setVersion("1.0.0");
        beanConfig.setResourcePackage("");
        beanConfig.setScan(true);
        beanConfig.setBasePath("/");
        beanConfig.setTitle(applicationName);

        Set<String> packages = new HashSet<>();
        packages.add(ApiListingResource.class.getPackage().getName());
        for (Class<?> clazz : allClasses) {
            packages.add(clazz.getPackage().getName());
        }
        rc.packages(packages.toArray(new String[0]));
    }

    rc.registerClasses(allClasses);
    rc.register(HttpMethodOverrideFilter.class);
    rc.register(new JacksonFeature().withMapper(mapper));
    rc.register(MultiPartFeature.class); // adds support for multi-part API requests
    rc.registerInstances(allBinders);
    rc.registerInstances(
        new InjectableBinder(allInjectables),
        new AbstractBinder() {
            @Override
            protected void configure() {
                bind(server).to(Server.class);
            }
        }
    );

    if (supportCORS) {
        rc.register(CorsContainerResponseFilter.class);
    }

    for (ContainerRequestFilter containerRequestFilter : containerRequestFilters) {
        rc.register(containerRequestFilter);
    }

    for (ContainerResponseFilter containerResponseFilter : containerResponseFilters) {
        rc.register(containerResponseFilter);
    }


    ServletHolder servletHolder = new ServletHolder(new ServletContainer(rc));
    ServletContextHandler servletContextHandler = new ServletContextHandler(ServletContextHandler.NO_SESSIONS);
    servletContextHandler.setContextPath(context);
    if (!applicationName.isEmpty()) {
        servletContextHandler.setDisplayName(applicationName);
    }
    servletContextHandler.addServlet(servletHolder, "/*");
    servletContextHandler.addFilter(NewRelicRequestFilter.class, "/", EnumSet.of(DispatcherType.REQUEST));

    return servletContextHandler;
}
项目:oauth2-provider    文件:RestResourceApplication.java   
public RestResourceApplication() {

        packages("com.porterhead.resource", "com.porterhead.user.resource",
        "com.porterhead.sample");

        register(RequestContextFilter.class);

        ApplicationContext rootCtx = ContextLoader.getCurrentWebApplicationContext();
        ContainerResponseFilter filter = rootCtx.getBean(JerseyCrossOriginResourceSharingFilter.class);
        register(filter);

        register(GenericExceptionMapper.class);
        register(AccessDeniedExceptionMapper.class);

        register(JacksonFeature.class);

    }
项目:ameba    文件:RequestEvent.java   
/**
 * <p>getContainerResponseFilters.</p>
 *
 * @return a {@link java.lang.Iterable} object.
 */
public Iterable<ContainerResponseFilter> getContainerResponseFilters() {
    return event.getContainerResponseFilters();
}