001 002package io.vrap.rmf.base.client.http; 003 004import java.util.concurrent.CompletableFuture; 005import java.util.function.Function; 006 007import io.vrap.rmf.base.client.ApiHttpHeaders; 008import io.vrap.rmf.base.client.ApiHttpRequest; 009import io.vrap.rmf.base.client.ApiHttpResponse; 010 011/** 012 * Middleware to add the header {@code Accept: gzip} to the request 013 */ 014public class AcceptGZipMiddleware implements Middleware { 015 @Override 016 public CompletableFuture<ApiHttpResponse<byte[]>> invoke(final ApiHttpRequest request, 017 final Function<ApiHttpRequest, CompletableFuture<ApiHttpResponse<byte[]>>> next) { 018 return next.apply(request.withHeader(ApiHttpHeaders.ACCEPT_ENCODING, "gzip")); 019 } 020 021 public static AcceptGZipMiddleware of() { 022 return new AcceptGZipMiddleware(); 023 } 024}