Skip to content

Commit 1bedc54

Browse files
committed
[grid] Handle index pages in the resource handler
1 parent 299f78c commit 1bedc54

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

java/server/src/org/openqa/selenium/grid/web/ResourceHandler.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ public HttpResponse execute(HttpRequest req) throws UncheckedIOException {
7575
Resource resource = result.get();
7676

7777
if (resource.isDirectory()) {
78+
Optional<Resource> index = resource.get("index.html");
79+
if (index.isPresent()) {
80+
return readFile(req, index.get());
81+
}
82+
7883
return readDirectory(req, resource);
7984
}
8085
return readFile(req, resource);

java/server/test/org/openqa/selenium/grid/web/ResourceHandlerTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,17 @@ public void canBeNestedWithinARoute() throws IOException {
109109
assertThat(Contents.string(res)).isEqualTo("delicious");
110110
}
111111

112+
@Test
113+
public void shouldRedirectToIndexPageIfOneExists() throws IOException {
114+
Path index = base.resolve("index.html");
115+
Files.write(index, "Cheese".getBytes(UTF_8));
116+
117+
ResourceHandler handler = new ResourceHandler(new PathResource(base));
118+
HttpResponse res = handler.execute(new HttpRequest(GET, "/"));
119+
120+
assertThat(res.isSuccessful()).isTrue();
121+
122+
String content = Contents.string(res);
123+
assertThat(content).isEqualTo("Cheese");
124+
}
112125
}

0 commit comments

Comments
 (0)