package ctbrec; import lombok.extern.slf4j.Slf4j; import kotlin.Pair; import okhttp3.Interceptor; import okhttp3.Request; import okhttp3.Response; import java.io.IOException; @Slf4j public class LoggingInterceptor implements Interceptor { @Override public Response intercept(Chain chain) throws IOException { long t1 = System.nanoTime(); Request request = chain.request(); log.debug("OkHttp Sending request {} on {}", request.url(), chain.connection()); for (Pair header : request.headers()) { log.debug("{}: {}", header.getFirst(), header.getSecond()); } if (request.method().equalsIgnoreCase("POST")) { log.debug("Body: {}", request.body()); } Response response = chain.proceed(request); long t2 = System.nanoTime(); log.debug("OkHttp Received {} response for {} in {}ms", response.code(), response.request().url(), (t2 - t1) / 1e6d); for (Pair header : response.headers()) { log.debug("{}: {}", header.getFirst(), header.getSecond()); } return response; } }