1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 package org.apache.commons.httpclient.server;
33
34 import java.util.HashMap;
35
36 import org.apache.commons.httpclient.HttpStatus;
37
38 /***
39 * Default error responses.
40 *
41 * @author Christian Kohlschuetter
42 */
43 public class ErrorResponse {
44 private static ErrorResponse instance = null;
45 public static synchronized ErrorResponse getInstance() {
46 if(instance == null) {
47 instance = new ErrorResponse();
48 }
49 return instance;
50 }
51
52 private final HashMap responses = new HashMap();
53
54 private ErrorResponse() {
55 super();
56 }
57
58 public void setResponse(int statusCode, SimpleResponse response) {
59 Integer code = new Integer(statusCode);
60 responses.put(code, response);
61 }
62
63 public SimpleResponse getResponse(int statusCode) {
64 Integer code = new Integer(statusCode);
65 SimpleResponse response = (SimpleResponse)responses.get(code);
66 if (response == null) {
67 StringBuffer buffer = new StringBuffer();
68 buffer.append(statusCode);
69 String s = HttpStatus.getStatusText(statusCode);
70 if (s != null) {
71 buffer.append(' ');
72 buffer.append(s);
73 }
74 response = new SimpleResponse(buffer.toString());
75 response.setContentType("text/plain");
76 if (s == null) {
77 s = "Error " + code;
78 }
79 response.setBodyString(s);
80 responses.put(code, response);
81 }
82 return response;
83 }
84 }