@Override public ClientResponse handle(ClientRequest request) { // If 'Accept-Encoding' is not set, assume gzip as a default if (!request.getHeaders().containsKey(HttpHeaders.ACCEPT_ENCODING)) { request.getHeaders().add(HttpHeaders.ACCEPT_ENCODING, GZIP_ENCODING); } if (request.getEntity() != null) { Object requestEncoding = request.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (GZIP_ENCODING.equals(requestEncoding)) { request.setAdapter(new GzipAdapter(request.getAdapter())); } else if (isCompressionEnabled()) { request.getHeaders().add(HttpHeaders.CONTENT_ENCODING, GZIP_ENCODING); request.setAdapter(new GzipAdapter(request.getAdapter())); } } ClientResponse response = getNext().handle(request); String responseEncoding = response.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (response.hasEntity() && GZIP_ENCODING.equals(responseEncoding)) { response.getHeaders().remove(HttpHeaders.CONTENT_ENCODING); decompressResponse(response); } return response; }
private EurekaHttpResponse<InstanceInfo> getInstanceInternal(String urlPath) { ClientResponse response = null; try { Builder requestBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).get(ClientResponse.class); InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { infoFromPeer = response.getEntity(InstanceInfo.class); } return anEurekaHttpResponse(response.getStatus(), InstanceInfo.class) .headers(headersOf(response)) .entity(infoFromPeer) .build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP GET {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
@Override public EurekaHttpResponse<Application> getApplication(String appName) { String urlPath = "apps/" + appName; ClientResponse response = null; try { Builder requestBuilder = jerseyClient.resource(serviceUrl).path(urlPath).getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).get(ClientResponse.class); Application application = null; if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { application = response.getEntity(Application.class); } return anEurekaHttpResponse(response.getStatus(), Application.class) .headers(headersOf(response)) .entity(application) .build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP GET {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
if (response.getStatus() == Status.OK.getStatusCode() && response.hasEntity()) { applications = response.getEntity(Applications.class);
@Override public EurekaHttpResponse<InstanceInfo> sendHeartBeat(String appName, String id, InstanceInfo info, InstanceStatus overriddenStatus) { String urlPath = "apps/" + appName + '/' + id; ClientResponse response = null; try { WebResource webResource = jerseyClient.resource(serviceUrl) .path(urlPath) .queryParam("status", info.getStatus().toString()) .queryParam("lastDirtyTimestamp", info.getLastDirtyTimestamp().toString()); if (overriddenStatus != null) { webResource = webResource.queryParam("overriddenstatus", overriddenStatus.name()); } Builder requestBuilder = webResource.getRequestBuilder(); addExtraHeaders(requestBuilder); response = requestBuilder.put(ClientResponse.class); EurekaHttpResponseBuilder<InstanceInfo> eurekaResponseBuilder = anEurekaHttpResponse(response.getStatus(), InstanceInfo.class).headers(headersOf(response)); if (response.hasEntity()) { eurekaResponseBuilder.entity(response.getEntity(InstanceInfo.class)); } return eurekaResponseBuilder.build(); } finally { if (logger.isDebugEnabled()) { logger.debug("Jersey HTTP PUT {}/{}; statusCode={}", serviceUrl, urlPath, response == null ? "N/A" : response.getStatus()); } if (response != null) { response.close(); } } }
response = requestBuilder.accept(MediaType.APPLICATION_JSON_TYPE).put(ClientResponse.class); InstanceInfo infoFromPeer = null; if (response.getStatus() == Status.CONFLICT.getStatusCode() && response.hasEntity()) { infoFromPeer = response.getEntity(InstanceInfo.class);
if (cr.getStatus() != 204 && cr.hasEntity()) { response.body = extractBody(cr); logger.error(String.format("Got unexpected http response - uri: %s, vipAddress: %s, status code: %s", input.getUri(), input.getVipAddress(), cr.getStatus()), ex); if(cr.getStatus() > 199 && cr.getStatus() < 300) { if(cr.getStatus() != 204 && cr.hasEntity()) { response.body = extractBody(cr);
if ( response.hasEntity() && response.getStatus() != 204 )
@Override public InputStream getInputStream() { if(response.hasEntity()) { return response.getEntityInputStream(); } else { return null; } }
@Override public InputStream getInputStream() { if(response.hasEntity()) { return response.getEntityInputStream(); } return null; }
String message = "error"; String respBody = null; if (response.hasEntity()) { try { respBody = response.getEntity(String.class);
@Override public <T> T getErrorEntity(Class<T> returnType) { if(response.getStatus() >= 400 && response.hasEntity()) { return response.getEntity(returnType); } return null; }
private static String createErrorMessage(ClientResponse clientResponse) { clientResponse.bufferEntity(); String errorMessage = clientResponse.toString(); if (clientResponse.hasEntity()) { errorMessage = errorMessage + " " + clientResponse.getEntity(String.class); } return errorMessage; }
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; }
private <T> T makeResult(RequestLogger reqlog, String operation, String entityType, ClientResponse response, Class<T> as) { if (as == null) { return null; } logRequest(reqlog, "%s for %s", operation, entityType); T entity = response.hasEntity() ? response.getEntity(as) : null; if (entity == null || (as != InputStream.class && as != Reader.class)) response.close(); return (reqlog != null) ? reqlog.copyContent(entity) : entity; }
@Override public <T> T getEntity(Class<T> returnType) { if(response.getStatus() >= 400) { throw new OpenStackResponseException(response.getClientResponseStatus().getReasonPhrase(), response.getStatus()); } if(response.hasEntity() && returnType != null && Void.class != returnType) { return response.getEntity(returnType); } else { return null; } }
@Override public <T> T getEntity(Class<T> returnType) { if(response.getStatus() >= 400) { throw new OpenStackResponseException(response.getClientResponseStatus().getReasonPhrase(), response.getStatus()); } if(response.hasEntity() && returnType != null && Void.class != returnType) { return response.getEntity(returnType); } else { return null; } }