X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=policy-agent%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fpolicyagent%2Fclients%2FAsyncRestClient.java;h=f0b2ce339ff44daa588d7faa0f7d8bdb324bde24;hb=d64e33d4e0d1f519b295c8f1e09a3fcb414fdfbb;hp=83592ecf9bbbb51bb231eb36623abf2ca88baee4;hpb=776c8156aae66f505ab234063923e66e7e610a01;p=nonrtric.git diff --git a/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java b/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java index 83592ecf..f0b2ce33 100644 --- a/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java +++ b/policy-agent/src/main/java/org/oransc/policyagent/clients/AsyncRestClient.java @@ -34,6 +34,7 @@ import org.springframework.http.client.reactive.ReactorClientHttpConnector; import org.springframework.lang.Nullable; import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.reactive.function.client.WebClient.RequestHeadersSpec; +import org.springframework.web.reactive.function.client.WebClientResponseException; import reactor.core.publisher.Mono; import reactor.netty.http.client.HttpClient; @@ -101,6 +102,13 @@ public class AsyncRestClient { return retrieve(request); } + public Mono> putForEntity(String uri) { + logger.debug("PUT uri = '{}{}''", baseUrl, uri); + RequestHeadersSpec request = client.put() // + .uri(uri); + return retrieve(request); + } + public Mono put(String uri, String body) { return putForEntity(uri, body) // .flatMap(this::toBody); @@ -130,10 +138,21 @@ public class AsyncRestClient { private Mono> retrieve(RequestHeadersSpec request) { return request.retrieve() // - .toEntity(String.class); + .toEntity(String.class) // + .doOnError(this::onHttpError); + } + + private void onHttpError(Throwable t) { + if (t instanceof WebClientResponseException) { + WebClientResponseException exception = (WebClientResponseException) t; + logger.debug("HTTP error status = '{}', body '{}'", exception.getStatusCode(), + exception.getResponseBodyAsString()); + } else { + logger.debug("HTTP error: {}", t.getMessage()); + } } - Mono toBody(ResponseEntity entity) { + private Mono toBody(ResponseEntity entity) { if (entity.getBody() == null) { return Mono.just(""); } else {