Skip to content

Commit 502944d

Browse files
committed
[grid] RequiresSecretFilter now returns a regular webdriver response
1 parent 9c754f2 commit 502944d

1 file changed

Lines changed: 12 additions & 5 deletions

File tree

java/server/src/org/openqa/selenium/grid/security/RequiresSecretFilter.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,12 @@
2424
import org.openqa.selenium.remote.http.HttpRequest;
2525
import org.openqa.selenium.remote.http.HttpResponse;
2626

27-
import java.util.Objects;
27+
import java.util.TreeMap;
2828
import java.util.logging.Logger;
2929

3030
import static java.net.HttpURLConnection.HTTP_UNAUTHORIZED;
3131
import static org.openqa.selenium.grid.security.AddSecretFilter.HEADER_NAME;
32+
import static org.openqa.selenium.json.Json.JSON_UTF_8;
3233

3334
public class RequiresSecretFilter implements Filter {
3435

@@ -47,8 +48,14 @@ public HttpHandler apply(HttpHandler httpHandler) {
4748
if (!isSecretMatch(secret, req)) {
4849
return new HttpResponse()
4950
.setStatus(HTTP_UNAUTHORIZED)
50-
.addHeader("Content-Type", "text/plain; charset=UTF-8")
51-
.setContent(Contents.utf8String("Unauthorized access attempted to " + req.getUri()));
51+
.addHeader("Content-Type", JSON_UTF_8)
52+
.setContent(Contents.asJson(new TreeMap<String, Object>() {{
53+
put("value", new TreeMap<String, Object>() {{
54+
put("error", "unknown error");
55+
put("message", "Unauthorized access attempted to " + req);
56+
put("stacktrace", "");
57+
}});
58+
}}));
5259
}
5360

5461
return httpHandler.execute(req);
@@ -59,7 +66,7 @@ private boolean isSecretMatch(Secret secret, HttpRequest request) {
5966
String header = request.getHeader(HEADER_NAME);
6067
if (header == null) {
6168
if (secret != null) {
62-
LOG.warning("Unexpected secret sent!");
69+
LOG.warning("Unexpectedly received registration secret to " + request);
6370
return false;
6471
}
6572
return true;
@@ -68,7 +75,7 @@ private boolean isSecretMatch(Secret secret, HttpRequest request) {
6875
Secret requestSecret = new Secret(header);
6976

7077
if (!secret.matches(requestSecret)) {
71-
LOG.warning("Secrets did not match!");
78+
LOG.warning("Unauthorized access attempted to " + request);
7279
return false;
7380
}
7481

0 commit comments

Comments
 (0)