public JerseyLambdaContainerHandler()

in aws-serverless-java-container-jersey/src/main/java/com/amazonaws/serverless/proxy/jersey/JerseyLambdaContainerHandler.java [142:178]


    public JerseyLambdaContainerHandler(Class<RequestType> requestTypeClass,
                                        Class<ResponseType> responseTypeClass,
                                        RequestReader<RequestType, HttpServletRequest> requestReader,
                                        ResponseWriter<AwsHttpServletResponse, ResponseType> responseWriter,
                                        SecurityContextWriter<RequestType> securityContextWriter,
                                        ExceptionHandler<ResponseType> exceptionHandler,
                                        Application jaxRsApplication) {

        super(requestTypeClass, responseTypeClass, requestReader, responseWriter, securityContextWriter, exceptionHandler);
        Timer.start("JERSEY_CONTAINER_CONSTRUCTOR");
        initialized = false;
        if (jaxRsApplication instanceof ResourceConfig) {
            ((ResourceConfig)jaxRsApplication).register(new AbstractBinder() {
                @Override
                protected void configure() {
                    bindFactory(AwsProxyServletContextSupplier.class)
                            .proxy(true)
                            .proxyForSameScope(true)
                            .to(ServletContext.class)
                            .in(RequestScoped.class);
                    bindFactory(AwsProxyServletRequestSupplier.class)
                            .proxy(true)
                            .proxyForSameScope(true)
                            .to(HttpServletRequest.class)
                            .in(RequestScoped.class);
                    bindFactory(AwsProxyServletResponseSupplier.class)
                            .proxy(true)
                            .proxyForSameScope(true)
                            .to(HttpServletResponse.class)
                            .in(RequestScoped.class);
                }
            });
        }

        this.jerseyFilter = new JerseyHandlerFilter(jaxRsApplication);
        Timer.stop("JERSEY_CONTAINER_CONSTRUCTOR");
    }