RestTemplate avoids use of warn level for response errors
Protected handleResponse method replaces former private logResponseStatus/handleResponseError methods. Issue: SPR-12760
This commit is contained in:
parent
9d1e7fde3a
commit
594a14ab25
|
@ -104,6 +104,7 @@ import org.springframework.web.util.UriTemplate;
|
|||
* @author Arjen Poutsma
|
||||
* @author Brian Clozel
|
||||
* @author Roy Clarkson
|
||||
* @author Juergen Hoeller
|
||||
* @since 3.0
|
||||
* @see HttpMessageConverter
|
||||
* @see RequestCallback
|
||||
|
@ -566,12 +567,7 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
|||
requestCallback.doWithRequest(request);
|
||||
}
|
||||
response = request.execute();
|
||||
if (!getErrorHandler().hasError(response)) {
|
||||
logResponseStatus(method, url, response);
|
||||
}
|
||||
else {
|
||||
handleResponseError(method, url, response);
|
||||
}
|
||||
handleResponse(url, method, response);
|
||||
if (responseExtractor != null) {
|
||||
return responseExtractor.extractData(response);
|
||||
}
|
||||
|
@ -590,29 +586,33 @@ public class RestTemplate extends InterceptingHttpAccessor implements RestOperat
|
|||
}
|
||||
}
|
||||
|
||||
private void logResponseStatus(HttpMethod method, URI url, ClientHttpResponse response) {
|
||||
/**
|
||||
* Handle the given response, performing appropriate logging and
|
||||
* invoking the {@link ResponseErrorHandler} if necessary.
|
||||
* <p>Can be overridden in subclasses.
|
||||
* @param url the fully-expanded URL to connect to
|
||||
* @param method the HTTP method to execute (GET, POST, etc.)
|
||||
* @param response the resulting {@link ClientHttpResponse}
|
||||
* @throws IOException if propagated from {@link ResponseErrorHandler}
|
||||
* @see #setErrorHandler
|
||||
* @since 4.1.6
|
||||
*/
|
||||
protected void handleResponse(URI url, HttpMethod method, ClientHttpResponse response) throws IOException {
|
||||
ResponseErrorHandler errorHandler = getErrorHandler();
|
||||
boolean hasError = errorHandler.hasError(response);
|
||||
if (logger.isDebugEnabled()) {
|
||||
try {
|
||||
logger.debug(method.name() + " request for \"" + url + "\" resulted in " +
|
||||
response.getRawStatusCode() + " (" + response.getStatusText() + ")");
|
||||
response.getRawStatusCode() + " (" + response.getStatusText() + ")" +
|
||||
(hasError ? "; invoking error handler" : ""));
|
||||
}
|
||||
catch (IOException ex) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void handleResponseError(HttpMethod method, URI url, ClientHttpResponse response) throws IOException {
|
||||
if (logger.isWarnEnabled()) {
|
||||
try {
|
||||
logger.warn(method.name() + " request for \"" + url + "\" resulted in " +
|
||||
response.getRawStatusCode() + " (" + response.getStatusText() + "); invoking error handler");
|
||||
}
|
||||
catch (IOException ex) {
|
||||
// ignore
|
||||
}
|
||||
if (hasError) {
|
||||
errorHandler.handleError(response);
|
||||
}
|
||||
getErrorHandler().handleError(response);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue