ctbrec-5.3.2-experimental/common/src/main/java/ctbrec/LoggingInterceptor.java

33 lines
1.1 KiB
Java

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;
}
}