66
77public class HttpResponseBuilder {
88
9+ // SUCCESS
10+ public static final int SC_OK = 200 ;
11+ public static final int SC_CREATED = 201 ;
12+ public static final int SC_NO_CONTENT = 204 ;
13+
14+ // REDIRECTION
15+ public static final int SC_MOVED_PERMANENTLY = 301 ;
16+ public static final int SC_FOUND = 302 ;
17+ public static final int SC_SEE_OTHER = 303 ;
18+ public static final int SC_NOT_MODIFIED = 304 ;
19+ public static final int SC_TEMPORARY_REDIRECT = 307 ;
20+ public static final int SC_PERMANENT_REDIRECT = 308 ;
21+
22+ // CLIENT ERROR
23+ public static final int SC_BAD_REQUEST = 400 ;
24+ public static final int SC_UNAUTHORIZED = 401 ;
25+ public static final int SC_FORBIDDEN = 403 ;
26+ public static final int SC_NOT_FOUND = 404 ;
27+
28+ // SERVER ERROR
29+ public static final int SC_INTERNAL_SERVER_ERROR = 500 ;
30+ public static final int SC_BAD_GATEWAY = 502 ;
31+ public static final int SC_SERVICE_UNAVAILABLE = 503 ;
32+ public static final int SC_GATEWAY_TIMEOUT = 504 ;
33+
34+
35+
936 private static final String PROTOCOL = "HTTP/1.1" ;
10- private int statusCode = 200 ;
37+ private int statusCode = SC_OK ;
1138 private String body = "" ;
1239 private byte [] bytebody ;
1340 private Map <String , String > headers = new TreeMap <>(String .CASE_INSENSITIVE_ORDER );
1441
1542 private static final String CRLF = "\r \n " ;
1643
1744 private static final Map <Integer , String > REASON_PHRASES = Map .ofEntries (
18- Map .entry (200 , "OK" ),
19- Map .entry (201 , "Created" ),
20- Map .entry (204 , "No Content" ),
21- Map .entry (301 , "Moved Permanently" ),
22- Map .entry (302 , "Found" ),
23- Map .entry (303 , "See Other" ),
24- Map .entry (304 , "Not Modified" ),
25- Map .entry (307 , "Temporary Redirect" ),
26- Map .entry (308 , "Permanent Redirect" ),
27- Map .entry (400 , "Bad Request" ),
28- Map .entry (401 , "Unauthorized" ),
29- Map .entry (403 , "Forbidden" ),
30- Map .entry (404 , "Not Found" ),
31- Map .entry (500 , "Internal Server Error" ),
32- Map .entry (502 , "Bad Gateway" ),
33- Map .entry (503 , "Service Unavailable" )
45+ Map .entry (SC_OK , "OK" ),
46+ Map .entry (SC_CREATED , "Created" ),
47+ Map .entry (SC_NO_CONTENT , "No Content" ),
48+ Map .entry (SC_MOVED_PERMANENTLY , "Moved Permanently" ),
49+ Map .entry (SC_FOUND , "Found" ),
50+ Map .entry (SC_SEE_OTHER , "See Other" ),
51+ Map .entry (SC_NOT_MODIFIED , "Not Modified" ),
52+ Map .entry (SC_TEMPORARY_REDIRECT , "Temporary Redirect" ),
53+ Map .entry (SC_PERMANENT_REDIRECT , "Permanent Redirect" ),
54+ Map .entry (SC_BAD_REQUEST , "Bad Request" ),
55+ Map .entry (SC_UNAUTHORIZED , "Unauthorized" ),
56+ Map .entry (SC_FORBIDDEN , "Forbidden" ),
57+ Map .entry (SC_NOT_FOUND , "Not Found" ),
58+ Map .entry (SC_INTERNAL_SERVER_ERROR , "Internal Server Error" ),
59+ Map .entry (SC_BAD_GATEWAY , "Bad Gateway" ),
60+ Map .entry (SC_SERVICE_UNAVAILABLE , "Service Unavailable" ),
61+ Map .entry (SC_GATEWAY_TIMEOUT , "Gateway Timeout" )
3462 );
3563
3664 public void setStatusCode (int statusCode ) {
@@ -106,4 +134,4 @@ public byte[] build() {
106134
107135 return response ;
108136 }
109- }
137+ }
0 commit comments