/** * @see * org.springframework.web.client.DefaultResponseErrorHandler#handleError(org.springframework.http.client.ClientHttpResponse) */ @Override public void handleError(ClientHttpResponse response) throws IOException { HttpStatus statusCode = getHttpStatusCode(response); switch (statusCode.series()) { case CLIENT_ERROR: handleClientError(statusCode); super.handleError(response); case SERVER_ERROR: super.handleError(response); default: throw new RestClientException("Unknown status code [" + statusCode + "]"); } }
@Override public void handleError(ClientHttpResponse response) throws IOException { HttpStatus statusCode = getHttpStatusCode(response); if (statusCode == HttpStatus.UNAUTHORIZED) { loginController.start(this); } else { super.handleError(response); } }
@Override public void handleError(ClientHttpResponse response) throws IOException { MediaType contentType = response.getHeaders().getContentType(); if (contentType != null && (response.getStatusCode().value() == 400 || response.getStatusCode().value() == 401)) { if (JSON_MEDIA_TYPE.includes(contentType)) { try { throw getSerializationService().deserializeJsonError(response.getBody()); } catch (SerializationException e) { throw new OAuth2Exception( "Error getting the access token, and unable to read the details of the error in the JSON response.", e); } } else if (FORM_MEDIA_TYPE.includes(contentType)) { MultiValueMap<String, String> map = FORM_MESSAGE_CONVERTER.read(null, response); throw getSerializationService().deserializeError(map.toSingleValueMap()); } } super.handleError(response); }