cos removed from the open posting system + misc. updates here and there
[mir.git] / source / mir / util / HTTPRequestParser.java
1 /*\r
2  * Copyright (C) 2001, 2002  The Mir-coders group\r
3  *\r
4  * This file is part of Mir.\r
5  *\r
6  * Mir is free software; you can redistribute it and/or modify\r
7  * it under the terms of the GNU General Public License as published by\r
8  * the Free Software Foundation; either version 2 of the License, or\r
9  * (at your option) any later version.\r
10  *\r
11  * Mir is distributed in the hope that it will be useful,\r
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14  * GNU General Public License for more details.\r
15  *\r
16  * You should have received a copy of the GNU General Public License\r
17  * along with Mir; if not, write to the Free Software\r
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
19  *\r
20  * In addition, as a special exception, The Mir-coders gives permission to link\r
21  * the code of this program with the com.oreilly.servlet library, any library\r
22  * licensed under the Apache Software License, The Sun (tm) Java Advanced\r
23  * Imaging library (JAI), The Sun JIMI library (or with modified versions of\r
24  * the above that use the same license as the above), and distribute linked\r
25  * combinations including the two.  You must obey the GNU General Public\r
26  * License in all respects for all of the code used other than the above\r
27  * mentioned libraries.  If you modify this file, you may extend this exception\r
28  * to your version of the file, but you are not obligated to do so.  If you do\r
29  * not wish to do so, delete this exception statement from your version.\r
30  */\r
31 \r
32 package mir.util;\r
33 \r
34 import javax.servlet.http.HttpServletRequest;\r
35 \r
36 public class HTTPRequestParser {\r
37   private HttpServletRequest request;\r
38   private String encoding;\r
39 \r
40   public HTTPRequestParser(HttpServletRequest aRequest) {\r
41     this(aRequest, aRequest.getCharacterEncoding());\r
42   }\r
43 \r
44   public HTTPRequestParser(HttpServletRequest aRequest, String anEncoding) {\r
45     request = aRequest;\r
46     encoding = anEncoding;\r
47   }\r
48 \r
49   public boolean hasParameter(String aName) {\r
50     return request.getParameter(aName)!=null;\r
51   }\r
52 \r
53   public String getParameterWithDefault(String aName, String aDefault) {\r
54     if (hasParameter(aName))\r
55       return getParameter(aName);\r
56     else\r
57       return aDefault;\r
58   }\r
59 \r
60   public String getParameter(String aName) {\r
61     try {\r
62       String result = request.getParameter(aName);\r
63 //      String requestEncoding = request.getCharacterEncoding();\r
64 //      if (requestEncoding==null)\r
65 //        requestEncoding = "ISO-8859-1";\r
66 \r
67 //      if (result != null && encoding!=null && !encoding.equals(requestEncoding)) {\r
68 //        result = new String(result.getBytes(requestEncoding), encoding);\r
69 //      }\r
70 \r
71       return result;\r
72     }\r
73     catch (Throwable t) {\r
74       throw new RuntimeException("HTTPRequestParser.getParameter: " + t.getMessage());\r
75     }\r
76   }\r
77 \r
78   public int getIntegerWithDefault(String aName, int aDefault) {\r
79     int result = aDefault;\r
80     String value = getParameter(aName);\r
81 \r
82     try {\r
83       result = Integer.parseInt(value);\r
84     }\r
85     catch (Throwable t) {\r
86     }\r
87     return result;\r
88   }\r
89 }\r