1 /* 2 * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/test/org/apache/commons/httpclient/server/ErrorResponse.java,v 1.6 2004/11/13 12:21:28 olegk Exp $ 3 * $Revision: 155418 $ 4 * $Date: 2005-02-26 08:01:52 -0500 (Sat, 26 Feb 2005) $ 5 * 6 * ==================================================================== 7 * 8 * Copyright 1999-2004 The Apache Software Foundation 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 * ==================================================================== 22 * 23 * This software consists of voluntary contributions made by many 24 * individuals on behalf of the Apache Software Foundation. For more 25 * information on the Apache Software Foundation, please see 26 * <http://www.apache.org/>. 27 * 28 * [Additional notices, if required by prior licensing conditions] 29 * 30 */ 31 32 package org.apache.commons.httpclient.server; 33 34 import java.util.HashMap; 35 36 import org.apache.commons.httpclient.Header; 37 import org.apache.commons.httpclient.HttpStatus; 38 import org.apache.commons.httpclient.HttpVersion; 39 40 /*** 41 * Default error responses. 42 * 43 * @author Christian Kohlschuetter 44 */ 45 public class ErrorResponse { 46 47 private static final HashMap responses = new HashMap(); 48 49 private ErrorResponse() { 50 super(); 51 } 52 53 public static SimpleResponse getResponse(int statusCode) { 54 Integer code = new Integer(statusCode); 55 SimpleResponse response = (SimpleResponse)responses.get(code); 56 if (response == null) { 57 response = new SimpleResponse(); 58 response.setStatusLine(HttpVersion.HTTP_1_0, statusCode); 59 response.setHeader(new Header("Content-Type", "text/plain; charset=US-ASCII")); 60 61 String s = HttpStatus.getStatusText(statusCode); 62 if (s == null) { 63 s = "Error " + statusCode; 64 } 65 response.setBodyString(s); 66 response.addHeader(new Header("Connection", "close")); 67 response.addHeader(new Header("Content-Lenght", Integer.toString(s.length()))); 68 responses.put(code, response); 69 } 70 return response; 71 } 72 }