package de.juplo.facebook.errors;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.reactive.function.client.ClientRequest;
import org.springframework.web.reactive.function.client.ClientResponse;
*/
public class GraphApiExchangeFilterFunction implements ExchangeFilterFunction
{
- private static final Logger LOG =
- LoggerFactory.getLogger(GraphApiExchangeFilterFunction.class);
-
- public static GraphApiExchangeFilterFunction INSTANCE =
- new GraphApiExchangeFilterFunction();
-
-
@Override
public Mono<ClientResponse> filter(ClientRequest request, ExchangeFunction next)
{
HttpStatus.Series.CLIENT_ERROR.equals(response.statusCode().series())
? response
.bodyToMono(String.class)
- .flatMap(errorBody -> Mono.error(GraphApiException.create(
+ .map(errorBody -> GraphApiException.create(
response.statusCode(),
response.headers().asHttpHeaders(),
- errorBody.getBytes())))
+ errorBody.getBytes()))
+ .flatMap(e -> Mono.error(e))
: Mono.just(response);
});
}