comparison src/luan/lib/webserver/Status.java @ 1347:643cf1c37723

move webserver to lib and bug fixes
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 25 Feb 2019 13:02:33 -0700
parents src/luan/webserver/Status.java@8b61c8c4e07a
children
comparison
equal deleted inserted replaced
1346:efd1c6380f2c 1347:643cf1c37723
1 package luan.lib.webserver;
2
3 import java.util.Map;
4 import java.util.HashMap;
5 import luan.lib.logging.Logger;
6 import luan.lib.logging.LoggerFactory;
7
8
9 public class Status {
10 private static final Logger logger = LoggerFactory.getLogger(Status.class);
11
12 public final int code;
13 public final String reason;
14
15 public Status(int code,String reason) {
16 this.code = code;
17 this.reason = reason;
18 }
19
20 private static final Map<Integer,Status> map = new HashMap<Integer,Status>();
21
22 protected static Status newStatus(int code,String reason) {
23 Status status = new Status(code,reason);
24 map.put(code,status);
25 return status;
26 }
27
28 public static Status getStatus(int code) {
29 Status status = map.get(code);
30 if( status == null ) {
31 logger.warn("missing status "+code);
32 status = new Status(code,"");
33 }
34 return status;
35 }
36
37 public static final Status OK = newStatus(200,"OK");
38 public static final Status MOVED_PERMANENTLY = newStatus(301,"Moved Permanently");
39 public static final Status FOUND = newStatus(302,"Found");
40 public static final Status BAD_REQUEST = newStatus(400,"Bad Request");
41 public static final Status NOT_FOUND = newStatus(404,"Not Found");
42 public static final Status INTERNAL_SERVER_ERROR = newStatus(500,"Internal Server Error");
43 }