List of usage examples for org.springframework.http.client ClientHttpResponse getHeaders
HttpHeaders getHeaders();
From source file:org.cloudfoundry.client.lib.rest.LoggingRestTemplate.java
@Override protected <T> T doExecute(URI url, HttpMethod method, RequestCallback requestCallback, final ResponseExtractor<T> responseExtractor) throws RestClientException { final String[] status = new String[1]; final HttpStatus[] httpStatus = new HttpStatus[1]; final Object[] headers = new Object[1]; final String[] message = new String[1]; T results = null;//from w w w . j av a2s . c o m RestClientException exception = null; try { results = super.doExecute(url, method, requestCallback, new ResponseExtractor<T>() { @SuppressWarnings("rawtypes") public T extractData(ClientHttpResponse response) throws IOException { httpStatus[0] = response.getStatusCode(); headers[0] = response.getHeaders(); T data = null; if (responseExtractor != null && (data = responseExtractor.extractData(response)) != null) { if (data instanceof String) { message[0] = ((String) data).length() + " bytes"; } else if (data instanceof Map) { message[0] = ((Map) data).keySet().toString(); } else { message[0] = data.getClass().getName(); } return data; } else { message[0] = "<no data>"; return null; } } }); status[0] = "OK"; } catch (RestClientException e) { status[0] = "ERROR"; message[0] = e.getMessage(); exception = e; if (e instanceof HttpStatusCodeException) { httpStatus[0] = ((HttpStatusCodeException) e).getStatusCode(); } } addLogMessage(method, url, status[0], httpStatus[0], message[0]); if (exception != null) { throw exception; } return results; }
From source file:org.bremersee.common.web.client.ResponseErrorHandlerImpl.java
/** * Find a throwable instance of the HTTP response. * * @param response the HTTP response/* ww w .j a v a2 s .co m*/ * @return the throwable * @throws IOException if the response cannot be parsed */ protected Throwable findThrowable(final ClientHttpResponse response) throws IOException { final MediaType contentType = response.getHeaders().getContentType(); try { if (contentType.includes(MediaType.APPLICATION_XML)) { return findThrowableFromXml(response); } else { return findThrowableFromJson(response); } } catch (RuntimeException re) { // NOSONAR return findThrowableByStatusCode(response); } }
From source file:cz.jirutka.spring.http.client.cache.DefaultCachingPolicy.java
/** * Whether the given response should be cached. *//*from w w w . j a v a 2 s . co m*/ protected boolean isExplicitlyCacheable(ClientHttpResponse response) { CacheControl cc = parseCacheControl(response.getHeaders()); return cc.isPublic() || cc.isMustRevalidate() || cc.isProxyRevalidate() || cc.getMaxAge(sharedCache) > 0; }
From source file:cz.jirutka.spring.http.client.cache.DefaultCachingPolicy.java
/** * Whether the given response must not be cached. *//* ww w . j a v a 2s . c o m*/ protected boolean isExplicitlyNonCacheable(ClientHttpResponse response) { CacheControl cc = parseCacheControl(response.getHeaders()); return cc.isNoStore() || cc.isNoCache() || (sharedCache && cc.isPrivate()) || cc.getMaxAge(sharedCache) == 0; }
From source file:com.artivisi.belajar.restful.ui.controller.ApplicationConfigControllerTestIT.java
@SuppressWarnings("unchecked") @Test//from w ww . ja va 2 s . c o m public void testUploadPakaiRestTemplate() { RestTemplate rest = new RestTemplate(); String jsessionid = rest.execute(login, HttpMethod.POST, new RequestCallback() { @Override public void doWithRequest(ClientHttpRequest request) throws IOException { request.getBody().write(("j_username=" + username + "&j_password=" + password).getBytes()); } }, new ResponseExtractor<String>() { @Override public String extractData(ClientHttpResponse response) throws IOException { List<String> cookies = response.getHeaders().get("Cookie"); // assuming only one cookie with jsessionid as the only value if (cookies == null) { cookies = response.getHeaders().get("Set-Cookie"); } String cookie = cookies.get(cookies.size() - 1); int start = cookie.indexOf('='); int end = cookie.indexOf(';'); return cookie.substring(start + 1, end); } }); MultiValueMap<String, Object> form = new LinkedMultiValueMap<String, Object>(); form.add("foto", new FileSystemResource("src/test/resources/foto-endy.jpg")); form.add("Filename", "cv-endy.pdf"); form.add("cv", new FileSystemResource("src/test/resources/resume-endy-en.pdf")); form.add("keterangan", "File Endy"); Map<String, String> result = rest.postForObject(target + "/abc123/files;jsessionid=" + jsessionid, form, Map.class); assertEquals("success", result.get("cv")); assertEquals("success", result.get("foto")); assertEquals("success", result.get("keterangan")); }
From source file:cz.jirutka.spring.http.client.cache.internal.SizeLimitedHttpResponseReader.java
private InMemoryClientHttpResponse createInMemoryResponse(ClientHttpResponse originalResponse, ByteArrayOutputStream body) throws IOException { HttpStatus status = originalResponse.getStatusCode(); HttpHeaders headers = originalResponse.getHeaders(); return new InMemoryClientHttpResponse(body.toByteArray(), status, headers); }
From source file:nl.gridshore.nosapi.impl.NosApiResponseErrorHandler.java
@Override public void handleError(ClientHttpResponse response) throws IOException { logger.debug("Handle error '{}' received from the NOS server.", response.getStatusCode().name()); HttpStatus statusCode = response.getStatusCode(); MediaType contentType = response.getHeaders().getContentType(); Charset charset = contentType != null ? contentType.getCharSet() : null; byte[] body = FileCopyUtils.copyToByteArray(response.getBody()); switch (statusCode) { case BAD_REQUEST: case UNAUTHORIZED: case FORBIDDEN: throwClientException(charset, body); default:// w w w .j a v a2 s.c om // do nothing, let the series resolving do it' work } switch (statusCode.series()) { case CLIENT_ERROR: throw new HttpClientErrorException(statusCode, response.getStatusText(), body, charset); case SERVER_ERROR: throw new HttpServerErrorException(statusCode, response.getStatusText(), body, charset); default: throw new RestClientException("Unknown status code [" + statusCode + "]"); } }
From source file:org.syncope.client.validation.SyncopeClientErrorHandler.java
@Override public void handleError(final ClientHttpResponse response) throws IOException { if (!ArrayUtils.contains(MANAGED_STATUSES, response.getStatusCode())) { super.handleError(response); }//ww w. jav a 2 s . co m List<String> exceptionTypesInHeaders = response.getHeaders().get(EXCEPTION_TYPE_HEADER); if (exceptionTypesInHeaders == null) { LOG.debug("No " + EXCEPTION_TYPE_HEADER + " provided"); return; } SyncopeClientCompositeErrorException compositeException = new SyncopeClientCompositeErrorException( response.getStatusCode()); Set<String> handledExceptions = new HashSet<String>(); for (String exceptionTypeAsString : exceptionTypesInHeaders) { SyncopeClientExceptionType exceptionType = null; try { exceptionType = SyncopeClientExceptionType.getFromHeaderValue(exceptionTypeAsString); } catch (IllegalArgumentException e) { LOG.error("Unexpected value of " + EXCEPTION_TYPE_HEADER + ": " + exceptionTypeAsString, e); } if (exceptionType != null) { handledExceptions.add(exceptionTypeAsString); SyncopeClientException clientException = new SyncopeClientException(); clientException.setType(exceptionType); if (response.getHeaders().get(exceptionType.getElementHeaderName()) != null && !response.getHeaders().get(exceptionType.getElementHeaderName()).isEmpty()) { clientException.setElements(response.getHeaders().get(exceptionType.getElementHeaderName())); } compositeException.addException(clientException); } } exceptionTypesInHeaders.removeAll(handledExceptions); if (!exceptionTypesInHeaders.isEmpty()) { LOG.error("Unmanaged exceptions: " + exceptionTypesInHeaders); } if (compositeException.hasExceptions()) { throw compositeException; } }
From source file:de.zib.gndms.gndmc.test.gorfx.ESGFGet.java
@Override protected void run() throws Exception { SetupSSL setupSSL = new SetupSSL(); setupSSL.setKeyStoreLocation(keyStoreLocation); setupSSL.prepareKeyStore(passwd, passwd); setupSSL.setupDefaultSSLContext(passwd); final RestTemplate rt = new RestTemplate(); rt.execute(url, HttpMethod.GET, null, new ResponseExtractor<Object>() { @Override//w ww .ja va2s . co m public Object extractData(final ClientHttpResponse response) throws IOException { String url = null; String cookieTmp = null; System.out.println(response.getStatusCode().toString()); for (String s : response.getHeaders().keySet()) for (String v : response.getHeaders().get(s)) { System.out.println(s + ":" + v); if ("Location".equals(s)) url = v; else if ("Set-Cookie".equals(s)) cookieTmp = v; } final String cookie = cookieTmp.split(";")[0]; if (url != null) rt.execute(decodeUrl(url), HttpMethod.GET, new RequestCallback() { @Override public void doWithRequest(final ClientHttpRequest request) throws IOException { System.out.println("setting cookie: " + cookie); request.getHeaders().set("Cookie", cookie); } }, new ResponseExtractor<Object>() { @Override public Object extractData(final ClientHttpResponse response) throws IOException { System.out.println(response.getStatusCode().toString()); System.out.println("Received data, copying"); InputStream is = response.getBody(); OutputStream os = new FileOutputStream(off); StreamCopyNIO.copyStream(is, os); System.out.println("Done"); return null; } }); return null; } }); }
From source file:sparklr.common.AbstractEmptyAuthorizationCodeProviderTests.java
@BeforeOAuth2Context public void setupAccessTokenProvider() { accessTokenProvider = new AuthorizationCodeAccessTokenProvider() { private ResponseExtractor<OAuth2AccessToken> extractor = super.getResponseExtractor(); private ResponseExtractor<ResponseEntity<Void>> authExtractor = super.getAuthorizationResponseExtractor(); private ResponseErrorHandler errorHandler = super.getResponseErrorHandler(); @Override/*ww w.ja v a2s .c om*/ protected ResponseErrorHandler getResponseErrorHandler() { return new DefaultResponseErrorHandler() { public void handleError(ClientHttpResponse response) throws IOException { response.getHeaders(); response.getStatusCode(); tokenEndpointResponse = response; errorHandler.handleError(response); } }; } @Override protected ResponseExtractor<OAuth2AccessToken> getResponseExtractor() { return new ResponseExtractor<OAuth2AccessToken>() { public OAuth2AccessToken extractData(ClientHttpResponse response) throws IOException { try { response.getHeaders(); response.getStatusCode(); tokenEndpointResponse = response; return extractor.extractData(response); } catch (ResourceAccessException e) { return null; } } }; } @Override protected ResponseExtractor<ResponseEntity<Void>> getAuthorizationResponseExtractor() { return new ResponseExtractor<ResponseEntity<Void>>() { public ResponseEntity<Void> extractData(ClientHttpResponse response) throws IOException { response.getHeaders(); response.getStatusCode(); tokenEndpointResponse = response; return authExtractor.extractData(response); } }; } }; context.setAccessTokenProvider(getAccessTokenProvider()); }