WIP: WebClient
[facebook-errors] / src / main / java / de / juplo / facebook / errors / GraphApiException.java
index 2e56e62..3ebc64f 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;
 
@@ -45,13 +48,14 @@ public class GraphApiException extends RuntimeException
 
 
 
-  public static GraphApiException create(ClientResponse response)
+  public static Mono<GraphApiException> create(ClientResponse response)
   {
-    Mono<String> body =
+    HttpStatus status = response.statusCode();
+    HttpHeaders headers = response.headers().asHttpHeaders();
+    return
         response
-            .bodyToMono(String.class);
-    Mono<GraphApiException> e = body
-            .map(str -> create(response.statusCode(), null, str.getBytes()));
+            .bodyToMono(InputStream.class)
+            .map(is -> create(status , headers, is));
   }
 
   public static GraphApiException create(