WIP: WebClient -- DIE LĂ–SUNG! -- Feinschliff...
[facebook-errors] / src / test / java / de / juplo / facebook / errors / GraphApiExchangeFilterFunctionIntegrationTest.java
index 8d21cc5..b9636ce 100644 (file)
@@ -11,10 +11,8 @@ import org.junit.Before;
 import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.client.reactive.JettyClientHttpConnector;
-import org.springframework.web.reactive.function.client.ExchangeFilterFunction;
 import org.springframework.web.reactive.function.client.WebClient;
 import reactor.core.publisher.Mono;
 import reactor.test.StepVerifier;
@@ -42,7 +40,7 @@ public class GraphApiExchangeFilterFunctionIntegrationTest
             .builder()
             .clientConnector(new JettyClientHttpConnector())
             .baseUrl(server.url("/").toString())
-            .filter(errorHandlingFilter())
+            .filter(new GraphApiExchangeFilterFunction())
             .build();
        }
 
@@ -129,24 +127,4 @@ public class GraphApiExchangeFilterFunctionIntegrationTest
         .expectComplete()
                                .verify(Duration.ofSeconds(3));
   }
-
-  public static ExchangeFilterFunction errorHandlingFilter()
-  {
-    return ExchangeFilterFunction.ofResponseProcessor(response ->
-    {
-      if (response.statusCode() != null && (response.statusCode()
-          .is5xxServerError() || response.statusCode().is4xxClientError()))
-      {
-        return response.bodyToMono(String.class)
-            .flatMap(errorBody ->
-            {
-              return Mono.error(GraphApiException.create(response.statusCode(), response.headers().asHttpHeaders(), errorBody.getBytes()));
-            });
-      }
-      else
-      {
-        return Mono.just(response);
-      }
-    });
-  }
 }