@@ -382,8 +382,11 @@ protected <T> T doExecute(URI url,
382
382
requestCallback .doWithRequest (request );
383
383
}
384
384
response = request .execute ();
385
- if (getErrorHandler ().hasError (response )) {
386
- getErrorHandler ().handleError (response );
385
+ if (!getErrorHandler ().hasError (response )) {
386
+ logResponseStatus (method , url , response );
387
+ }
388
+ else {
389
+ handleResponseError (method , url , response );
387
390
}
388
391
if (responseExtractor != null ) {
389
392
return responseExtractor .extractData (response );
@@ -419,6 +422,31 @@ private void checkForSupportedMessageConverter(Class type) {
419
422
throw new IllegalArgumentException ("Could not resolve HttpMessageConverter for [" + type .getName () + "]" );
420
423
}
421
424
425
+ private void logResponseStatus (HttpMethod method , URI url , ClientHttpResponse response ) {
426
+ if (logger .isDebugEnabled ()) {
427
+ try {
428
+ logger .debug (method .name () + " request for \" " + url + "\" resulted in " + response .getStatusCode () +
429
+ " (" + response .getStatusText () + ")" );
430
+ }
431
+ catch (IOException e ) {
432
+ // ignore
433
+ }
434
+ }
435
+ }
436
+
437
+ private void handleResponseError (HttpMethod method , URI url , ClientHttpResponse response ) throws IOException {
438
+ if (logger .isWarnEnabled ()) {
439
+ try {
440
+ logger .warn (method .name () + " request for \" " + url + "\" resulted in " + response .getStatusCode () +
441
+ " (" + response .getStatusText () + "); invoking error handler" );
442
+ }
443
+ catch (IOException e ) {
444
+ // ignore
445
+ }
446
+ }
447
+ getErrorHandler ().handleError (response );
448
+ }
449
+
422
450
/** Request callback implementation that prepares the request's accept headers. */
423
451
private class AcceptHeaderRequestCallback <T > implements RequestCallback {
424
452
0 commit comments