1137
|
1 package luan.webserver.handlers;
|
|
2
|
|
3 import luan.webserver.Handler;
|
|
4 import luan.webserver.Request;
|
|
5 import luan.webserver.Response;
|
|
6
|
|
7
|
|
8 public final class IndexHandler implements Handler {
|
|
9 private final Handler handler;
|
|
10 private final String indexName;
|
|
11
|
|
12 public IndexHandler(Handler handler) {
|
|
13 this(handler,"index.html");
|
|
14 }
|
|
15
|
|
16 public IndexHandler(Handler handler,String indexName) {
|
|
17 this.handler = handler;
|
|
18 this.indexName = indexName;
|
|
19 }
|
|
20
|
|
21 public Response handle(Request request) {
|
|
22 if( request.path.endsWith("/") ) {
|
|
23 String path = request.path;
|
|
24 try {
|
|
25 request.path += indexName;
|
1167
|
26 return handler.handle(request);
|
1137
|
27 } finally {
|
|
28 request.path = path;
|
|
29 }
|
1167
|
30 } else
|
|
31 return handler.handle(request);
|
1137
|
32 }
|
|
33 }
|