Fix NPE in RecordedRequest Constructor
Bug 6294000
MockWebServer passes null as the requestLine argument to
RecordedRequest sometimes which causes a NPE. Fix
RecordedRequest's constructor to allow for null method
and path which is parsed from the requestLine argument.
Change-Id: Ibbff001629cbc95b389bea3bebe5583a50a7223e
diff --git a/src/main/java/com/google/mockwebserver/RecordedRequest.java b/src/main/java/com/google/mockwebserver/RecordedRequest.java
index 8d7dc87..0728ff3 100644
--- a/src/main/java/com/google/mockwebserver/RecordedRequest.java
+++ b/src/main/java/com/google/mockwebserver/RecordedRequest.java
@@ -50,10 +50,15 @@
sslProtocol = null;
}
- int methodEnd = requestLine.indexOf(' ');
- int pathEnd = requestLine.indexOf(' ', methodEnd + 1);
- this.method = requestLine.substring(0, methodEnd);
- this.path = requestLine.substring(methodEnd + 1, pathEnd);
+ if (requestLine != null) {
+ int methodEnd = requestLine.indexOf(' ');
+ int pathEnd = requestLine.indexOf(' ', methodEnd + 1);
+ this.method = requestLine.substring(0, methodEnd);
+ this.path = requestLine.substring(methodEnd + 1, pathEnd);
+ } else {
+ this.method = null;
+ this.path = null;
+ }
}
public String getRequestLine() {