Example usage for org.springframework.web.client RestTemplate setErrorHandler

List of usage examples for org.springframework.web.client RestTemplate setErrorHandler

Introduction

In this page you can find the example usage for org.springframework.web.client RestTemplate setErrorHandler.

Prototype

public void setErrorHandler(ResponseErrorHandler errorHandler) 

Source Link

Document

Set the error handler.

Usage

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();
}