Skip to content

Commit bd26943

Browse files
committed
Ensure that wrapped servlet requests have query parameters
1 parent d1cf13c commit bd26943

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

java/server/src/org/openqa/selenium/remote/server/ServletRequestWrappingHttpRequest.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import java.io.IOException;
2424
import java.io.InputStream;
25+
import java.util.Arrays;
2526
import java.util.Collections;
2627

2728
import javax.servlet.http.HttpServletRequest;
@@ -71,6 +72,35 @@ public void addHeader(String name, String value) {
7172
throw new UnsupportedOperationException("addHeader");
7273
}
7374

75+
@Override
76+
public String getQueryParameter(String name) {
77+
String[] allValues = req.getParameterMap().get(name);
78+
if (allValues == null || allValues.length == 0) {
79+
return null;
80+
}
81+
82+
return allValues[0];
83+
}
84+
85+
@Override
86+
public void addQueryParameter(String name, String value) {
87+
throw new UnsupportedOperationException("addQueryParameter");
88+
}
89+
90+
@Override
91+
public Iterable<String> getQueryParameterNames() {
92+
return req.getParameterMap().keySet();
93+
}
94+
95+
@Override
96+
public Iterable<String> getQueryParameters(String name) {
97+
String[] allValues = req.getParameterMap().get(name);
98+
if (allValues == null) {
99+
return Collections.emptySet();
100+
}
101+
return () -> Arrays.stream(allValues).iterator();
102+
}
103+
74104
@Override
75105
public void setContent(byte[] data) {
76106
throw new UnsupportedOperationException("setContent");

0 commit comments

Comments
 (0)