/** * {@inheritDoc} */ @Override public ClientResponse apply(ClientRequest jerseyRequest) { try { final HttpUriRequest apacheRequest = buildApacheRequest(jerseyRequest); final CloseableHttpResponse apacheResponse = client.execute(apacheRequest); final StatusLine statusLine = apacheResponse.getStatusLine(); final String reasonPhrase = Strings.nullToEmpty(statusLine.getReasonPhrase()); final Response.StatusType status = Statuses.from(statusLine.getStatusCode(), reasonPhrase); final ClientResponse jerseyResponse = new ClientResponse(status, jerseyRequest); for (Header header : apacheResponse.getAllHeaders()) { jerseyResponse.getHeaders().computeIfAbsent(header.getName(), k -> new ArrayList<>()) .add(header.getValue()); } final HttpEntity httpEntity = apacheResponse.getEntity(); jerseyResponse.setEntityStream(httpEntity != null ? httpEntity.getContent() : new ByteArrayInputStream(new byte[0])); return jerseyResponse; } catch (Exception e) { throw new ProcessingException(e); } }
private ClientResponse translateResponse(final ClientRequest requestContext, final HttpResponse httpResponse, URI requestUri) { Response.StatusType statusType = new Response.StatusType() { @Override public int getStatusCode() { return httpResponse.getStatusCode(); } @Override public Response.Status.Family getFamily() { return Response.Status.Family.familyOf(httpResponse.getStatusCode()); } @Override public String getReasonPhrase() { return httpResponse.getReasonPhrase(); } }; ClientResponse responseContext = new ClientResponse(statusType, requestContext, requestUri); Map<String, List<String>> headers = httpResponse.getHeaders(); for (Map.Entry<String, List<String>> entry : headers.entrySet()) { for (String value : entry.getValue()) { responseContext.getHeaders().add(entry.getKey(), value); } } responseContext.setEntityStream(httpResponse.getBodyStream()); return responseContext; }
private ClientResponse translate(final ClientRequest requestContext, final HttpResponseStatus status, final HttpResponseHeaders headers, final NonBlockingInputStream entityStream) { final ClientResponse responseContext = new ClientResponse(new Response.StatusType() { @Override public int getStatusCode() { return status.getStatusCode(); } @Override public Response.Status.Family getFamily() { return Response.Status.Family.familyOf(status.getStatusCode()); } @Override public String getReasonPhrase() { return status.getStatusText(); } }, requestContext); for (Map.Entry<String, List<String>> entry : headers.getHeaders().entrySet()) { for (String value : entry.getValue()) { responseContext.getHeaders().add(entry.getKey(), value); } } responseContext.setEntityStream(entityStream); return responseContext; }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
private ClientResponse createClientResponse(final ClientRequest clientRequest, final InMemoryResponseWriter responseWriter) { final ClientResponse clientResponse = new ClientResponse(responseWriter.getStatusInfo(), clientRequest); clientResponse.getHeaders().putAll(responseWriter.getHeaders()); clientResponse.setEntityStream(new ByteArrayInputStream(responseWriter.getEntity())); return clientResponse; }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
private ClientResponse _apply(final ClientRequest request) { checkNotClosed(); final ClientResponse response = new ClientResponse(LOOPBACK_STATUS, request); // Headers. response.headers(HeaderUtils.asStringHeaders(request.getHeaders())); // Entity. if (request.hasEntity()) { response.setEntityStream(new ByteArrayInputStream(bufferEntity(request))); } return response; }
private static ClientResponse translateResponse(final ClientRequest jerseyRequest, final org.eclipse.jetty.client.api.Response jettyResponse, final NonBlockingInputStream entityStream) { final ClientResponse jerseyResponse = new ClientResponse(Statuses.from(jettyResponse.getStatus()), jerseyRequest); processResponseHeaders(jettyResponse.getHeaders(), jerseyResponse); jerseyResponse.setEntityStream(entityStream); return jerseyResponse; }
: Statuses.from(response.getStatusLine().getStatusCode(), response.getStatusLine().getReasonPhrase()); final ClientResponse responseContext = new ClientResponse(status, clientRequest); final List<URI> redirectLocations = context.getRedirectLocations(); if (redirectLocations != null && !redirectLocations.isEmpty()) {
ClientResponse responseContext = new ClientResponse(status, request, resolvedRequestUri); responseContext.headers( uc.getHeaderFields()
ClientResponse responseContext = new ClientResponse(status, request, resolvedRequestUri); responseContext.headers( uc.getHeaderFields()
final HttpResponse response = (HttpResponse) msg; final ClientResponse jerseyResponse = new ClientResponse(new Response.StatusType() { @Override public int getStatusCode() {
ClientResponse responseContext = new ClientResponse(status, request, resolvedRequestUri); responseContext.headers( uc.getHeaderFields()
@Override public ClientResponse apply(final ClientRequest jerseyRequest) throws ProcessingException { final Request jettyRequest = translateRequest(jerseyRequest); final Map<String, String> clientHeadersSnapshot = writeOutBoundHeaders(jerseyRequest.getHeaders(), jettyRequest); final ContentProvider entity = getBytesProvider(jerseyRequest); if (entity != null) { jettyRequest.content(entity); } try { final ContentResponse jettyResponse = jettyRequest.send(); HeaderUtils.checkHeaderChanges(clientHeadersSnapshot, jerseyRequest.getHeaders(), JettyConnector.this.getClass().getName()); final javax.ws.rs.core.Response.StatusType status = jettyResponse.getReason() == null ? Statuses.from(jettyResponse.getStatus()) : Statuses.from(jettyResponse.getStatus(), jettyResponse.getReason()); final ClientResponse jerseyResponse = new ClientResponse(status, jerseyRequest); processResponseHeaders(jettyResponse.getHeaders(), jerseyResponse); try { jerseyResponse.setEntityStream(new HttpClientResponseInputStream(jettyResponse)); } catch (final IOException e) { LOGGER.log(Level.SEVERE, null, e); } return jerseyResponse; } catch (final Exception e) { throw new ProcessingException(e); } }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
@Override public Continuation<ClientRequest> apply(ClientRequest requestContext) { for (ClientRequestFilter filter : requestFilters) { try { filter.filter(requestContext); final Response abortResponse = requestContext.getAbortResponse(); if (abortResponse != null) { throw new AbortException(new ClientResponse(requestContext, abortResponse)); } } catch (IOException ex) { throw new ProcessingException(ex); } } return Continuation.of(requestContext, getDefaultNext()); } }
private ClientResponse _apply(final ClientRequest request) { checkNotClosed(); final ClientResponse response = new ClientResponse(LOOPBACK_STATUS, request); // Headers. response.headers(HeaderUtils.asStringHeaders(request.getHeaders())); // Entity. if (request.hasEntity()) { response.setEntityStream(new ByteArrayInputStream(bufferEntity(request))); } return response; }
private static ClientResponse translateResponse(final ClientRequest jerseyRequest, final org.eclipse.jetty.client.api.Response jettyResponse, final NonBlockingInputStream entityStream) { final ClientResponse jerseyResponse = new ClientResponse(Statuses.from(jettyResponse.getStatus()), jerseyRequest); processResponseHeaders(jettyResponse.getHeaders(), jerseyResponse); jerseyResponse.setEntityStream(entityStream); return jerseyResponse; }