From: Kai Moritz Date: Thu, 21 Nov 2019 14:21:18 +0000 (+0100) Subject: WIP: WebClient X-Git-Tag: wip-webclient~23 X-Git-Url: https://juplo.de/gitweb/?p=facebook-errors;a=commitdiff_plain;h=b1a46d53733d1847b175fad2d8259371d4c6380f WIP: WebClient --- diff --git a/src/main/java/de/juplo/facebook/errors/GraphApiException.java b/src/main/java/de/juplo/facebook/errors/GraphApiException.java index 2e56e62..3f9c544 100644 --- a/src/main/java/de/juplo/facebook/errors/GraphApiException.java +++ b/src/main/java/de/juplo/facebook/errors/GraphApiException.java @@ -12,6 +12,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; +import org.springframework.http.ReactiveHttpInputMessage; +import org.springframework.web.reactive.function.BodyExtractor; +import org.springframework.web.reactive.function.BodyExtractor.Context; import org.springframework.web.reactive.function.client.ClientResponse; import reactor.core.publisher.Mono; @@ -47,11 +50,10 @@ public class GraphApiException extends RuntimeException public static GraphApiException create(ClientResponse response) { - Mono body = - response - .bodyToMono(String.class); - Mono e = body - .map(str -> create(response.statusCode(), null, str.getBytes())); + HttpStatus status = response.statusCode(); + HttpHeaders headers = response.headers().asHttpHeaders(); + Mono body = response.bodyToMono(String.class); + return create(status , headers, body.block().getBytes()); } public static GraphApiException create( diff --git a/src/test/java/de/juplo/facebook/errors/GraphApiExchangeFilterFunctionIntegrationTest.java b/src/test/java/de/juplo/facebook/errors/GraphApiExchangeFilterFunctionIntegrationTest.java index b148d23..c468590 100644 --- a/src/test/java/de/juplo/facebook/errors/GraphApiExchangeFilterFunctionIntegrationTest.java +++ b/src/test/java/de/juplo/facebook/errors/GraphApiExchangeFilterFunctionIntegrationTest.java @@ -123,7 +123,7 @@ public class GraphApiExchangeFilterFunctionIntegrationTest StepVerifier.create(result) .expectError(Exception.class) - .verify(Duration.ofSeconds(90)); + .verify(Duration.ofSeconds(3)); server .enqueue(new MockResponse()