WIP: WebClient
authorKai Moritz <kai@jupl.de>
Thu, 21 Nov 2019 14:21:18 +0000 (15:21 +0100)
committerKai Moritz <kai@jupl.de>
Thu, 21 Nov 2019 14:21:18 +0000 (15:21 +0100)
src/main/java/de/juplo/facebook/errors/GraphApiException.java
src/test/java/de/juplo/facebook/errors/GraphApiExchangeFilterFunctionIntegrationTest.java

index 2e56e62..3f9c544 100644 (file)
@@ -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<String> body =
-        response
-            .bodyToMono(String.class);
-    Mono<GraphApiException> e = body
-            .map(str -> create(response.statusCode(), null, str.getBytes()));
+    HttpStatus status = response.statusCode();
+    HttpHeaders headers = response.headers().asHttpHeaders();
+    Mono<String> body = response.bodyToMono(String.class);
+    return create(status , headers, body.block().getBytes());
   }
 
   public static GraphApiException create(
index b148d23..c468590 100644 (file)
@@ -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()