private static void copyResponse(HttpResponse httpResponse, ClientResponse clientResponse) { clientResponse.setStatus(httpResponse.getStatusLine().getStatusCode()); CaseInsensitiveMap<String> headers = new CaseInsensitiveMap<String>(); for (Header header : httpResponse.getAllHeaders()) { headers.add(header.getName(), header.getValue()); } clientResponse.setHeaders(headers); }
public Object extractEntity(ClientContext context, Object... args) { ClientResponse response = context.getClientResponse(); int status = response.getStatus(); if (status >= 400) { response.bufferEntity(); response.close(); ClientInvocation.handleErrorStatus(response); } response.close(); return null; } };
public Object invoke(Object[] args, Request req, RestfulClientResponse resp) { ClientInvocation request = createRequest(args, req); ClientResponse response = (ClientResponse) request.invoke(); resp.setAttachments(RestfulUtil.decodeAttachments(response.getStringHeaders())); resp.setHttpResponse(response); ClientContext context = new ClientContext(request, response, entityExtractorFactory); return extractor.extractEntity(context); }
@Override public boolean hasEntity() { abortIfClosed(); return getInputStream() != null && (entity != null || getMediaType() != null); }
response.setProperties(request.getMutableProperties()); response.setStatus(res.getStatusLine().getStatusCode()); response.setReasonPhrase(res.getStatusLine().getReasonPhrase()); response.setHeaders(extractHeaders(res)); response.setClientConfiguration(request.getClientConfiguration()); return response;
@SuppressWarnings("unchecked") public synchronized <T> T readEntity(Class<T> type, Type genericType, Annotation[] anns) abortIfClosed(); if (entity != null) setInputStream((InputStream)entity); entity = null; entity = readFrom(type, genericType, getMediaType(), anns); if (entity == null || (entity != null && !InputStream.class.isInstance(entity) close(); close();
@Override public void onHeaders(Response response) { cr = new JettyClientResponse(invocation.getClientConfiguration(), stream, () -> { if (!completing.get()) { future.cancel(true); } }); cr.setProperties(invocation.getMutableProperties()); cr.setStatus(response.getStatus()); cr.setHeaders(extract(response.getHeaders())); if (!buffered) { complete(); } }
@Override public void setStatus(int code) { response.setStatus(code); }
@Override public boolean bufferEntity() { abortIfClosed(); if (bufferedEntity != null) return true; if (entity != null) return false; if (metadata.getFirst(HttpHeaderNames.CONTENT_TYPE) == null) return false; InputStream is = getInputStream(); if (is == null) return false; try { bufferedEntity = ReadFromStream.readFromStream(1024, is); } catch (IOException e) { throw new ProcessingException(e); } finally { try { releaseConnection(); } catch (IOException e) { throw new ProcessingException(e); } } return true; }
if (Family.SUCCESSFUL.equals(response.getStatusInfo().getFamily())) eventInput = response.readEntity(SseEventInputImpl.class); response.bufferEntity();
try InputStream is = getEntityStream(); if (is == null) useGeneric, annotations, media, getStringHeaders(), is, properties); try { finalObj = context.proceed();
private ClientResponse filterResponse(ClientRequestContextImpl requestContext, ClientResponse response) response.setProperties(configuration.getMutableProperties()); if(instance instanceof ResponseExceptionMapper) { ResponseExceptionMapper candiate = (ResponseExceptionMapper) instance; if (candiate.handles(response.getStatus(), response.getHeaders())) { mappers.put(candiate, candiate.getPriority());
@Override public synchronized Object getEntity() { abortIfClosed(); Object entity = super.getEntity(); if (entity != null) { return entity; } //Check if the entity was previously fully consumed if (streamFullyRead && bufferedEntity == null) { throw new IllegalStateException(); } return getEntityStream(); }
protected ClientResponse filterResponse(ClientRequestContextImpl requestContext, ClientResponse response) { response.setProperties(configuration.getMutableProperties()); ClientResponseFilter[] responseFilters = getResponseFilters(); if (responseFilters != null && responseFilters.length > 0) { ClientResponseContextImpl responseContext = new ClientResponseContextImpl(response); for (ClientResponseFilter filter : responseFilters) { try { filter.filter(requestContext, responseContext); } catch (ResponseProcessingException e) { throw e; } catch (Throwable e) { throw new ResponseProcessingException(response, e); } } } return response; }
@Override public Set<String> getAllowedMethods() { return response.getAllowedMethods(); }
@Override public Map<String, NewCookie> getCookies() { return response.getCookies(); }
@Override public void close() throws IOException { super.close(); this.response.close(); } }
@Override public Date getDate() { return response.getDate(); }