/** * Construct a uniform interface exception. * * @param message the message of the exception. * @param r the client response. * @param bufferResponseEntity if true buffer the client response entity by calling * {@link ClientResponse#bufferEntity() }. * */ public UniformInterfaceException(String message, ClientResponse r, boolean bufferResponseEntity) { super(message); if (bufferResponseEntity) r.bufferEntity(); this.r = r; }
/** * Construct a uniform interface exception. * * @param message the message of the exception. * @param r the client response. * @param bufferResponseEntity if true buffer the client response entity by calling * {@link ClientResponse#bufferEntity() }. * */ public UniformInterfaceException(String message, ClientResponse r, boolean bufferResponseEntity) { super(message); if (bufferResponseEntity) r.bufferEntity(); this.r = r; }
public BufferedClientResponse(ClientResponse response) { response.bufferEntity(); this.response = response; }
/** * Construct a uniform interface exception. * * @param r the client response. The message of the exception is set to * r.toString(); * @param bufferResponseEntity if true buffer the client response entity by calling * {@link ClientResponse#bufferEntity() }. */ public UniformInterfaceException(ClientResponse r, boolean bufferResponseEntity) { super(r.toString()); if (bufferResponseEntity) r.bufferEntity(); this.r = r; }
/** * Construct a uniform interface exception. * * @param r the client response. The message of the exception is set to * r.toString(); * @param bufferResponseEntity if true buffer the client response entity by calling * {@link ClientResponse#bufferEntity() }. */ public UniformInterfaceException(ClientResponse r, boolean bufferResponseEntity) { super(r.toString()); if (bufferResponseEntity) r.bufferEntity(); this.r = r; }
private static String createErrorMessage(ClientResponse clientResponse) { clientResponse.bufferEntity(); String errorMessage = clientResponse.toString(); if (clientResponse.hasEntity()) { errorMessage = errorMessage + " " + clientResponse.getEntity(String.class); } return errorMessage; }
private void logBodyIfExists(final ClientResponse resp) { if (LOGGER.isDebugEnabled() && resp.hasEntity()) { try { resp.bufferEntity(); String entity = resp.getEntity(String.class); LOGGER.debug("Response code was a {} and contains the following body: {}", resp.getStatus(), entity); } catch (ClientHandlerException e) { LOGGER.debug("Response code was a " + resp.getStatus() + " and contains a body which could not read", e); } } }
private static String getMessage(ClientResponse clientResponse) { String message; clientResponse.bufferEntity(); InputStream in = clientResponse.getEntityInputStream(); try { in.mark(MB); try { message = clientResponse.getEntity(APIResult.class).getMessage(); } catch (Throwable e) { in.reset(); message = clientResponse.getEntity(InstancesResult.class).getMessage(); } } catch (Throwable t) { byte[] data = new byte[MB]; try { in.reset(); int len = in.read(data); message = new String(data, 0, len); } catch (IOException e) { message = e.getMessage(); } } return message; } }
private static String createErrorMessage(ClientResponse clientResponse) { clientResponse.bufferEntity(); String errorMessage = clientResponse.toString(); if (clientResponse.hasEntity()) { errorMessage = errorMessage + " " + clientResponse.getEntity(String.class); } return errorMessage; }
@Override public ClientResponse handle(ClientRequest req) throws ClientHandlerException { // leave request entity--it can usually be read multiple times ClientResponse rsp = getNext().handle(req); if (rsp.hasEntity()) { rsp.bufferEntity(); } return rsp; }
@Override public ClientResponse handle(ClientRequest req) throws ClientHandlerException { // leave request entity--it can usually be read multiple times ClientResponse rsp = getNext().handle(req); if (rsp.hasEntity()) { rsp.bufferEntity(); } return rsp; }
@Override public ClientResponse handle(ClientRequest req) throws ClientHandlerException { // leave request entity--it can usually be read multiple times ClientResponse rsp = getNext().handle(req); if (rsp.hasEntity()) { rsp.bufferEntity(); } return rsp; }
String endPoint = "http://localhost:8080/api/places"; Client client = new Client(); ClientResponse cr = client.resource(endPoint).accept("application/json").get(ClientResponse.class); cr.bufferEntity(); // buffer the entity (HttpInputStream->ByteArrayInputStream) String res1 = cr.getEntity(String.class); cr.getEntityInputStream().reset(); //reset the buffer, this is a ByteArrayInputStream String res2 = cr.getEntity(String.class);//read again
@Private @VisibleForTesting public ClientResponse doPostingObject(Object object, String path) { WebResource webResource = client.resource(resURI); if (path == null) { if (LOG.isDebugEnabled()) { LOG.debug("POST to " + resURI); } ClientResponse r = webResource.accept(MediaType.APPLICATION_JSON) .type(MediaType.APPLICATION_JSON) .post(ClientResponse.class, object); r.bufferEntity(); return r; } else if (path.equals("domain")) { if (LOG.isDebugEnabled()) { LOG.debug("PUT to " + resURI +"/" + path); } ClientResponse r = webResource.path(path).accept(MediaType.APPLICATION_JSON) .type(MediaType.APPLICATION_JSON) .put(ClientResponse.class, object); r.bufferEntity(); return r; } else { throw new YarnRuntimeException("Unknown resource type"); } } }
public ClientResponse handle(final ClientRequest cr) throws ClientHandlerException { final HttpUriRequest request = getUriHttpRequest(cr); writeOutBoundHeaders(cr.getHeaders(), request); try { HttpResponse response; if(preemptiveBasicAuth) { AuthCache authCache = new BasicAuthCache(); BasicScheme basicScheme = new BasicScheme(); authCache.put(getHost(request), basicScheme); BasicHttpContext localContext = new BasicHttpContext(); localContext.setAttribute(ClientContext.AUTH_CACHE, authCache); response = getHttpClient().execute(getHost(request), request, localContext); } else { response = getHttpClient().execute(getHost(request), request); } ClientResponse r = new ClientResponse(response.getStatusLine().getStatusCode(), getInBoundHeaders(response), new HttpClientResponseInputStream(response), getMessageBodyWorkers()); if (!r.hasEntity()) { r.bufferEntity(); r.close(); } return r; } catch (Exception e) { throw new ClientHandlerException(e); } }
response.bufferEntity(); FamilySearchPlatform fsp = response.getEntity(FamilySearchPlatform.class); try {
@Override public ClientResponse handle(final ClientRequest cr) throws ClientHandlerException { final HttpMethod method = getHttpMethod(cr); methodExecutor.executeMethod(method, cr); try { ClientResponse r = new ClientResponse(method.getStatusCode(), getInBoundHeaders(method), new HttpClientResponseInputStream(method), workers); if (!r.hasEntity()) { r.bufferEntity(); r.close(); } return r; } catch (Exception e) { method.releaseConnection(); throw new ClientHandlerException(e); } }
/** * Translate the {@link ClientRequest} into a AsyncHttpClient request, and execute it. * * @param cr the HTTP request. * @return the {@link ClientResponse} * @throws ClientHandlerException */ @Override public ClientResponse handle(final ClientRequest cr) throws ClientHandlerException { try { final RequestBuilder requestBuilder = getRequestBuilder(cr); handleCookie(requestBuilder); requestWriter.configureRequest(requestBuilder, cr, allowBody(cr.getMethod())); final Response response = client.executeRequest(requestBuilder.build()).get(); applyResponseCookies(response.getCookies()); ClientResponse r = new ClientResponse(response.getStatusCode(), getInBoundHeaders(response), response.getResponseBodyAsStream(), workers); if (!r.hasEntity()) { r.bufferEntity(); r.close(); } return r; } catch (Exception e) { throw new ClientHandlerException(e); } }
/** * Translate the {@link ClientRequest} into a AsyncHttpClient request, and execute it. * * @param cr the HTTP request. * @return the {@link ClientResponse} * @throws ClientHandlerException */ @Override public ClientResponse handle(final ClientRequest cr) throws ClientHandlerException { try { final RequestBuilder requestBuilder = getRequestBuilder(cr); handleCookie(requestBuilder); requestWriter.configureRequest(requestBuilder, cr, allowBody(cr.getMethod())); final Response response = client.executeRequest(requestBuilder.build()).get(); applyResponseCookies(response.getCookies()); ClientResponse r = new ClientResponse(response.getStatusCode(), getInBoundHeaders(response), response.getResponseBodyAsStream(), workers); if (!r.hasEntity()) { r.bufferEntity(); r.close(); } return r; } catch (Exception e) { throw new ClientHandlerException(e); } }