WIP: WebClient
[facebook-errors] / src / main / java / de / juplo / facebook / errors / GraphApiException.java
index a781c3b..2528e7e 100644 (file)
@@ -10,8 +10,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.core.io.buffer.DataBuffer;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
+import org.springframework.http.ReactiveHttpInputMessage;
+import org.springframework.web.reactive.function.BodyExtractor.Context;
+import org.springframework.web.reactive.function.client.ClientResponse;
 
 
 
@@ -42,6 +46,18 @@ public class GraphApiException extends RuntimeException
   }
 
 
+
+  public static GraphApiException create(ClientResponse response)
+  {
+    return
+        response.body((ReactiveHttpInputMessage message, Context context) ->
+        {
+          DataBuffer buffer = message.getBody().blockFirst();
+          InputStream is = message.getBody().blockFirst().asInputStream();
+          return create(response.statusCode(), message.getHeaders(), is);
+        });
+  }
+
   public static GraphApiException create(
       HttpStatus status,
       HttpHeaders headers,