comparison src/luan/webserver/handlers/IndexHandler.java @ 1137:c123ee15f99b

add webserver
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 29 Jan 2018 18:49:59 -0700
parents
children 7e6f28c769a1
comparison
equal deleted inserted replaced
1136:d30d400fd43d 1137:c123ee15f99b
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;
26 Response response = handler.handle(request);
27 if( response != null )
28 return response;
29 } finally {
30 request.path = path;
31 }
32 }
33 return handler.handle(request);
34 }
35 }