diff --git a/README.md b/README.md
index 29144c3b8..5cace265f 100644
--- a/README.md
+++ b/README.md
@@ -395,7 +395,7 @@ When you build the latest code from source, you'll have access to the latest sna
net.lightbody.bmp
browsermob-core
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
test
```
diff --git a/browsermob-core/pom.xml b/browsermob-core/pom.xml
index f28c31717..f0f20862d 100644
--- a/browsermob-core/pom.xml
+++ b/browsermob-core/pom.xml
@@ -6,7 +6,7 @@
browsermob-proxy
net.lightbody.bmp
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
4.0.0
diff --git a/browsermob-core/src/main/java/net/lightbody/bmp/filters/HarCaptureFilter.java b/browsermob-core/src/main/java/net/lightbody/bmp/filters/HarCaptureFilter.java
index 59a864640..1be4b6f12 100644
--- a/browsermob-core/src/main/java/net/lightbody/bmp/filters/HarCaptureFilter.java
+++ b/browsermob-core/src/main/java/net/lightbody/bmp/filters/HarCaptureFilter.java
@@ -163,6 +163,22 @@ public HarCaptureFilter(HttpRequest originalRequest, ChannelHandlerContext ctx,
this.harEntry = new HarEntry(currentPageRef);
}
+ @Override
+ public HttpObject proxyToClientResponse(HttpObject httpObject) {
+ if (httpObject instanceof LastHttpContent) {
+ if (harEntry.getResponse().getStatus() == 0) {
+ HarCaptureFilter.logFailedRequestIfRequired(harEntry.getRequest(), harEntry.getResponse());
+ createStatsDClient();
+ statsDClient.get().increment(getProxyPrefix().concat(prepareMetric(harEntry.getRequest().getUrl()))
+ .concat("." + harEntry.getResponse().getStatus()).concat(".request_timeout"));
+ stopStatsDClient();
+
+ }
+ }
+
+ return super.proxyToClientResponse(httpObject);
+ }
+
@Override
public HttpResponse clientToProxyRequest(HttpObject httpObject) {
// if a ServerResponseCaptureFilter is configured, delegate to it to collect the client request. if it is not
diff --git a/browsermob-core/src/main/java/net/lightbody/bmp/filters/HttpConnectHarCaptureFilter.java b/browsermob-core/src/main/java/net/lightbody/bmp/filters/HttpConnectHarCaptureFilter.java
index e3d9a1d54..de4829a67 100644
--- a/browsermob-core/src/main/java/net/lightbody/bmp/filters/HttpConnectHarCaptureFilter.java
+++ b/browsermob-core/src/main/java/net/lightbody/bmp/filters/HttpConnectHarCaptureFilter.java
@@ -1,17 +1,11 @@
package net.lightbody.bmp.filters;
import com.google.common.cache.CacheBuilder;
-import com.timgroup.statsd.NonBlockingStatsDClient;
-import com.timgroup.statsd.StatsDClient;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.http.HttpObject;
import io.netty.handler.codec.http.HttpRequest;
import io.netty.handler.codec.http.HttpResponse;
-import net.lightbody.bmp.core.har.Har;
-import net.lightbody.bmp.core.har.HarEntry;
-import net.lightbody.bmp.core.har.HarRequest;
-import net.lightbody.bmp.core.har.HarResponse;
-import net.lightbody.bmp.core.har.HarTimings;
+import net.lightbody.bmp.core.har.*;
import net.lightbody.bmp.filters.support.HttpConnectTiming;
import net.lightbody.bmp.filters.util.HarCaptureUtil;
import net.lightbody.bmp.util.HttpUtil;
@@ -25,8 +19,6 @@
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.TimeUnit;
-import static net.lightbody.bmp.filters.StatsDMetricsFilter.*;
-
/**
* This filter captures HAR data for HTTP CONNECT requests. CONNECTs are "meta" requests that must be made before HTTPS
* requests, but are not populated as separate requests in the HAR. Most information from HTTP CONNECTs (such as SSL
@@ -38,7 +30,6 @@
*/
public class HttpConnectHarCaptureFilter extends HttpsAwareFiltersAdapter implements ModifiedRequestAwareFilter {
private static final Logger log = LoggerFactory.getLogger(HttpConnectHarCaptureFilter.class);
- private static final StatsDClient statsDClient = new NonBlockingStatsDClient("automated_tests", getStatsDHost(), getStatsDPort());
/**
* The currently active HAR at the time the current request is received.
@@ -336,8 +327,6 @@ private HarEntry createHarEntryForFailedCONNECT(String errorMessage) {
HarResponse response = HarCaptureUtil.createHarResponseForFailure();
harEntry.setResponse(response);
- statsDClient.increment(getProxyPrefix().concat(prepareMetric(harEntry.getRequest().getUrl()))
- .concat("." + harEntry.getResponse().getStatus()).concat(".failed_connect_request"));
response.setError(errorMessage);
diff --git a/browsermob-core/src/test/groovy/net/lightbody/bmp/proxy/WhitelistTest.groovy b/browsermob-core/src/test/groovy/net/lightbody/bmp/proxy/WhitelistTest.groovy
index 55fae8ce0..aa2d40b59 100644
--- a/browsermob-core/src/test/groovy/net/lightbody/bmp/proxy/WhitelistTest.groovy
+++ b/browsermob-core/src/test/groovy/net/lightbody/bmp/proxy/WhitelistTest.groovy
@@ -37,7 +37,7 @@ class WhitelistTest extends MockServerTest {
@Test
void testWhitelistCannotShortCircuitCONNECT() {
HttpRequest request = mock(HttpRequest.class)
- when(request.getMethod()).thenReturn(HttpMethod.CONNECT)
+ when(request.method()).thenReturn(HttpMethod.CONNECT)
when(request.uri()).thenReturn('somedomain.com:443')
when(request.protocolVersion()).thenReturn(HttpVersion.HTTP_1_1)
diff --git a/browsermob-dist/pom.xml b/browsermob-dist/pom.xml
index 159509b81..32e80f85d 100644
--- a/browsermob-dist/pom.xml
+++ b/browsermob-dist/pom.xml
@@ -4,7 +4,7 @@
browsermob-proxy
net.lightbody.bmp
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
4.0.0
diff --git a/browsermob-legacy/pom.xml b/browsermob-legacy/pom.xml
index 36ff0d817..37b2b5635 100644
--- a/browsermob-legacy/pom.xml
+++ b/browsermob-legacy/pom.xml
@@ -6,7 +6,7 @@
browsermob-proxy
net.lightbody.bmp
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
4.0.0
diff --git a/browsermob-rest/pom.xml b/browsermob-rest/pom.xml
index 635c2a9c4..a425e6343 100644
--- a/browsermob-rest/pom.xml
+++ b/browsermob-rest/pom.xml
@@ -5,7 +5,7 @@
browsermob-proxy
net.lightbody.bmp
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
4.0.0
diff --git a/mitm/pom.xml b/mitm/pom.xml
index 239377c31..dc5519677 100644
--- a/mitm/pom.xml
+++ b/mitm/pom.xml
@@ -4,7 +4,7 @@
browsermob-proxy
net.lightbody.bmp
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
4.0.0
diff --git a/pom.xml b/pom.xml
index 8b60f486f..4389eb4d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
net.lightbody.bmp
browsermob-proxy
- 2.1.28-SNAPSHOT
+ 2.1.29-SNAPSHOT
browsermob-core
browsermob-legacy
@@ -176,11 +176,11 @@
false
install
- ${basedir}/resources/jar/littleproxy-1.1.4.jar
+ ${basedir}/resources/jar/littleproxy-1.1.5.jar
default
org.littleshoot
littleproxy
- 1.1.4
+ 1.1.5
jar
@@ -308,7 +308,7 @@
org.littleshoot
littleproxy
- 1.1.4
+ 1.1.5
diff --git a/resources/jar/littleproxy-1.1.4.jar b/resources/jar/littleproxy-1.1.4.jar
deleted file mode 100644
index 53627e2da..000000000
Binary files a/resources/jar/littleproxy-1.1.4.jar and /dev/null differ
diff --git a/resources/jar/littleproxy-1.1.5.jar b/resources/jar/littleproxy-1.1.5.jar
new file mode 100644
index 000000000..2f5a9198f
Binary files /dev/null and b/resources/jar/littleproxy-1.1.5.jar differ