Mercurial Hosting > luan
changeset 1155:4100304340bc
minor
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 04 Feb 2018 20:53:07 -0700 |
parents | bbad9a21277c |
children | 3839ecc130ea |
files | src/luan/webserver/Status.java |
diffstat | 1 files changed, 28 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/luan/webserver/Status.java Sun Feb 04 20:34:56 2018 -0700 +++ b/src/luan/webserver/Status.java Sun Feb 04 20:53:07 2018 -0700 @@ -1,7 +1,14 @@ package luan.webserver; +import java.util.Map; +import java.util.HashMap; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + public class Status { + private static final Logger logger = LoggerFactory.getLogger(Status.class); + public final int code; public final String reason; @@ -10,7 +17,25 @@ this.reason = reason; } - public static final Status OK = new Status(200,"OK"); - public static final Status NOT_FOUND = new Status(404,"Not Found"); - public static final Status INTERNAL_SERVER_ERROR = new Status(500,"Internal Server Error"); + private static final Map<Integer,Status> map = new HashMap<Integer,Status>(); + + protected static Status newStatus(int code,String reason) { + Status status = new Status(code,reason); + map.put(code,status); + return status; + } + + public static Status getStatus(int code) { + Status status = map.get(code); + if( status == null ) { + logger.warn("missing status "+code); + status = new Status(code,""); + } + return status; + } + + public static final Status OK = newStatus(200,"OK"); + public static final Status MOVED_PERMANENTLY = newStatus(301,"Moved Permanently"); + public static final Status NOT_FOUND = newStatus(404,"Not Found"); + public static final Status INTERNAL_SERVER_ERROR = newStatus(500,"Internal Server Error"); }