package com.codeborne.selenide.proxy; import io.netty.handler.codec.http.HttpResponse; import net.lightbody.bmp.filters.ResponseFilter; import net.lightbody.bmp.util.HttpMessageContents; import net.lightbody.bmp.util.HttpMessageInfo; import java.util.logging.Level; import java.util.logging.Logger; public class ResponseSizeWatchdog implements ResponseFilter { private static final Logger log = Logger.getLogger(ResponseSizeWatchdog.class.getName()); int threshold = 2 * 1024 * 1024; // 2 MB @Override public void filterResponse(HttpResponse response, HttpMessageContents contents, HttpMessageInfo messageInfo) { if (contents.getBinaryContents().length > threshold) { log.warning("Too large response " + messageInfo.getUrl() + ": " + contents.getBinaryContents().length + " bytes"); if (log.isLoggable(Level.FINEST)) { log.finest("Response content: " + contents.getTextContents()); } } } }