List of usage examples for org.springframework.web.client RestTemplate setErrorHandler
public void setErrorHandler(ResponseErrorHandler errorHandler)
From source file:org.springframework.boot.test.web.client.TestRestTemplate.java
public TestRestTemplate(RestTemplate restTemplate, String username, String password, HttpClientOption... httpClientOptions) { Assert.notNull(restTemplate, "RestTemplate must not be null"); this.httpClientOptions = httpClientOptions; if (ClassUtils.isPresent("org.apache.http.client.config.RequestConfig", null)) { restTemplate.setRequestFactory(new CustomHttpComponentsClientHttpRequestFactory(httpClientOptions)); }//from w w w . j a v a 2 s . c om addAuthentication(restTemplate, username, password); restTemplate.setErrorHandler(new NoOpResponseErrorHandler()); this.restTemplate = restTemplate; }
From source file:org.cloudfoundry.identity.api.web.ServerRunning.java
public RestOperations createRestTemplate() { RestTemplate client = new RestTemplate(); client.setRequestFactory(new SimpleClientHttpRequestFactory() { @Override/*from ww w . j a v a 2 s .c om*/ protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException { super.prepareConnection(connection, httpMethod); connection.setInstanceFollowRedirects(false); } }); client.setErrorHandler(new ResponseErrorHandler() { // Pass errors through in response entity for status code analysis @Override public boolean hasError(ClientHttpResponse response) throws IOException { return false; } @Override public void handleError(ClientHttpResponse response) throws IOException { } }); return client; }
From source file:org.cloudfoundry.identity.app.integration.ServerRunning.java
public RestOperations createRestTemplate() { RestTemplate client = new RestTemplate(new SimpleClientHttpRequestFactory() { @Override/*from www .j a v a 2 s. co m*/ protected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException { super.prepareConnection(connection, httpMethod); connection.setInstanceFollowRedirects(false); } }); client.setErrorHandler(new ResponseErrorHandler() { // Pass errors through in response entity for status code analysis @Override public boolean hasError(ClientHttpResponse response) throws IOException { return false; } @Override public void handleError(ClientHttpResponse response) throws IOException { } }); return client; }
From source file:org.cloudfoundry.identity.uaa.authentication.manager.RestAuthenticationManager.java
public RestAuthenticationManager() { RestTemplate restTemplate = new RestTemplate(); // The default java.net client doesn't allow you to handle 4xx responses restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory()); restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { @Override/* ww w . j a v a2 s. c o m*/ protected boolean hasError(HttpStatus statusCode) { return statusCode.series() == HttpStatus.Series.SERVER_ERROR; } }); this.restTemplate = restTemplate; }
From source file:org.cloudfoundry.identity.uaa.integration.RemoteAuthenticationEndpointTests.java
@SuppressWarnings("rawtypes") ResponseEntity<Map> authenticate(String username, String password, Map<String, Object> additionalParams) { RestTemplate restTemplate = new RestTemplate(); // The default java.net client doesn't allow you to handle 4xx responses restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory()); if (restTemplate instanceof OAuth2RestTemplate) { OAuth2RestTemplate oAuth2RestTemplate = (OAuth2RestTemplate) restTemplate; oAuth2RestTemplate.setErrorHandler( new UaaOauth2ErrorHandler(oAuth2RestTemplate.getResource(), HttpStatus.Series.SERVER_ERROR)); } else {/* w ww . j av a 2s . co m*/ restTemplate.setErrorHandler(new DefaultResponseErrorHandler() { @Override protected boolean hasError(HttpStatus statusCode) { return statusCode.series() == HttpStatus.Series.SERVER_ERROR; } }); } HttpHeaders headers = new HttpHeaders(); if (additionalParams != null) { headers.add("Authorization", "Bearer " + getLoginReadBearerToken()); } headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); MultiValueMap<String, Object> parameters = new LinkedMultiValueMap<String, Object>(); parameters.set("username", username); if (password != null) { parameters.set("password", password); } if (additionalParams != null) { parameters.setAll(additionalParams); } ResponseEntity<Map> result = restTemplate.exchange(serverRunning.getUrl("/authenticate"), HttpMethod.POST, new HttpEntity<MultiValueMap<String, Object>>(parameters, headers), Map.class); return result; }
From source file:org.cloudfoundry.identity.uaa.integration.util.IntegrationTestUtils.java
public static RestTemplate getClientCredentialsTemplate(ClientCredentialsResourceDetails details) { RestTemplate client = new OAuth2RestTemplate(details); client.setRequestFactory(new StatelessRequestFactory()); client.setErrorHandler(new OAuth2ErrorHandler(details) { // Pass errors through in response entity for status code analysis @Override// w w w .j a va2 s . c om public boolean hasError(ClientHttpResponse response) throws IOException { return false; } @Override public void handleError(ClientHttpResponse response) throws IOException { } }); return client; }
From source file:org.cloudfoundry.identity.uaa.integration.util.IntegrationTestUtils.java
public static ScimGroup createGroup(String token, String zoneId, String url, ScimGroup group) { RestTemplate template = new RestTemplate(); template.setErrorHandler(fiveHundredErrorHandler); MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); headers.add("Accept", APPLICATION_JSON_VALUE); headers.add("Authorization", "bearer " + token); headers.add("Content-Type", APPLICATION_JSON_VALUE); if (StringUtils.hasText(zoneId)) { headers.add(IdentityZoneSwitchingFilter.HEADER, zoneId); }// w w w .j av a2 s. c o m ResponseEntity<ScimGroup> createGroup = template.exchange(url + "/Groups", HttpMethod.POST, new HttpEntity(JsonUtils.writeValueAsBytes(group), headers), ScimGroup.class); assertEquals(HttpStatus.CREATED, createGroup.getStatusCode()); return createGroup.getBody(); }