Package org.glassfish.jersey.server

Examples of org.glassfish.jersey.server.ContainerRequest


            this.parameter = parameter;
        }

        @Override
        protected Object get(HttpContext context) {
            final ContainerRequest requestContext = context.getRequestContext();

            final Class<?> rawType = parameter.getRawType();

            Object value;
            if ((Request.class.isAssignableFrom(rawType) || ContainerRequestContext.class.isAssignableFrom(rawType))
                    && rawType.isInstance(requestContext)) {
                value = requestContext;
            } else {
                value = requestContext.readEntity(rawType, parameter.getType(), parameter.getAnnotations());
                if (rawType.isPrimitive() && value == null) {
                    throw new BadRequestException(Response.status(Response.Status.BAD_REQUEST)
                            .entity(LocalizationMessages.ERROR_PRIMITIVE_TYPE_NULL()).build());
                }
            }
View Full Code Here


        JSONP jsonp = getJsonpAnnotation(context);
        if (jsonp != null) {
            callback = jsonp.callback();

            if (!"".equals(jsonp.queryParam())) {
                final ContainerRequest containerRequest = containerRequestProvider.get();
                final UriInfo uriInfo = containerRequest.getUriInfo();
                final MultivaluedMap<String, String> queryParameters = uriInfo.getQueryParameters();
                final List<String> queryParameter = queryParameters.get(jsonp.queryParam());

                callback = (queryParameter != null && !queryParameter.isEmpty()) ? queryParameter.get(0) : callback;
            }
View Full Code Here

    public void service(final Request request, final Response response) {
        final ResponseWriter responseWriter = new ResponseWriter(response);
        try {
            logger.debugLog("GrizzlyHttpContaner.service(...) started");
            URI baseUri = getBaseUri(request);
            ContainerRequest requestContext = new ContainerRequest(baseUri,
                    getRequestUri(baseUri, request), request.getMethod().getMethodString(),
                    getSecurityContext(request), new GrizzlyRequestPropertiesDelegate(request));
            requestContext.setEntityStream(request.getInputStream());
            for (String headerName : request.getHeaderNames()) {
                requestContext.headers(headerName, request.getHeaders(headerName));
            }
            requestContext.setWriter(responseWriter);
            requestContext.setRequestScopedInitializer(new RequestScopedInitializer() {
                @Override
                public void initialize(ServiceLocator locator) {
                    locator.<Ref<Request>>getService((new TypeLiteral<Ref<Request>>() {
                    }).getType()).set(request);
                    locator.<Ref<Response>>getService((new TypeLiteral<Ref<Response>>() {
View Full Code Here

        }

        final URI requestUri = baseUri.resolve(exchangeUri);

        final ResponseWriter responseWriter = new ResponseWriter(exchange);
        ContainerRequest requestContext = new ContainerRequest(baseUri, requestUri,
                exchange.getRequestMethod(), getSecurityContext(exchange.getPrincipal(), isSecure),
                new MapPropertiesDelegate());
        requestContext.setEntityStream(exchange.getRequestBody());
        requestContext.getHeaders().putAll(exchange.getRequestHeaders());
        requestContext.setWriter(responseWriter);
        try {
            appHandler.handle(requestContext);
        } finally {
            // if the response was not committed yet by the JerseyApplication
            // then commit it and log warning
View Full Code Here

        URI uri = getAbsoluteURI(vertxRequest);
        boolean isSecure = "https".equalsIgnoreCase(uri.getScheme());

        // Create the jersey request
        final ContainerRequest jerseyRequest = new ContainerRequest(
                baseUri,
                uri,
                vertxRequest.method(),
                new DefaultSecurityContext(isSecure),
                new MapPropertiesDelegate());
View Full Code Here

        URI uri = getAbsoluteURI(vertxRequest);
        boolean isSecure = "https".equalsIgnoreCase(uri.getScheme());

        // Create the jersey request
        final ContainerRequest jerseyRequest = new ContainerRequest(
                baseUri,
                uri,
                vertxRequest.method(),
                new DefaultSecurityContext(isSecure),
                new MapPropertiesDelegate());
View Full Code Here

     *
     * @param context http context to retrieve an entity from.
     * @return a form data multi part entity.
     */
    private FormDataMultiPart getEntity(final HttpContext context) {
        final ContainerRequest requestContext = context.getRequestContext();
        if (requestContext.getProperty(FormDataMultiPart.class.getName()) == null) {
            FormDataMultiPart formDataMultiPart = requestContext.readEntity(FormDataMultiPart.class);
            requestContext.setProperty(FormDataMultiPart.class.getName(), formDataMultiPart);
        }

        return (FormDataMultiPart) requestContext.getProperty(FormDataMultiPart.class.getName());
    }
View Full Code Here

     */
    @Override
    public ClientResponse apply(final ClientRequest clientRequest) {
        PropertiesDelegate propertiesDelegate = new MapPropertiesDelegate();

        final ContainerRequest containerRequest = new ContainerRequest(baseUri,
                clientRequest.getUri(), clientRequest.getMethod(),
                null, propertiesDelegate);

        final ByteArrayOutputStream clientOutput = new ByteArrayOutputStream();
        if (clientRequest.getEntity() != null) {
            clientRequest.setStreamProvider(new OutboundMessageContext.StreamProvider() {
                @Override
                public OutputStream getOutputStream(int contentLength) throws IOException {
                    containerRequest.getHeaders().putAll(clientRequest.getStringHeaders());
                    List<String> length = Lists.newArrayList();
                    length.add(String.valueOf(contentLength));
                    containerRequest.getHeaders().put(HttpHeaders.CONTENT_LENGTH, length);
                    return clientOutput;
                }
            });
            clientRequest.enableBuffering();

            try {
                clientRequest.writeEntity();
            } catch (IOException e) {
                final String msg = "Error while writing entity to the output stream.";
                LOGGER.log(Level.SEVERE, msg, e);
                throw new ProcessingException(msg, e);
            }
        }
        containerRequest.setEntityStream(new ByteArrayInputStream(clientOutput.toByteArray()));


        boolean followRedirects = PropertiesHelper.getValue(clientRequest.getConfiguration().getProperties(),
                ClientProperties.FOLLOW_REDIRECTS, true);

        final InMemoryResponseWriter inMemoryResponseWriter = new InMemoryResponseWriter();
        containerRequest.setWriter(inMemoryResponseWriter);
        containerRequest.setSecurityContext(new SecurityContext() {
            @Override
            public Principal getUserPrincipal() {
                return null;
            }

View Full Code Here

TOP

Related Classes of org.glassfish.jersey.server.ContainerRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.