1.1 --- a/WebStack/JavaServlet.py Fri Jul 02 18:05:21 2004 +0000
1.2 +++ b/WebStack/JavaServlet.py Fri Jul 02 18:06:05 2004 +0000
1.3 @@ -61,7 +61,7 @@
1.4 # NOTE: Discarding much of the information received.
1.5
1.6 self.cookies_in = {}
1.7 - for cookie in self.request.getCookies():
1.8 + for cookie in self.request.getCookies() or []:
1.9 cookie_name = cookie.getName()
1.10 self.cookies_in[cookie_name] = Cookie(cookie_name, cookie.getValue())
1.11
1.12 @@ -103,13 +103,13 @@
1.13 """
1.14
1.15 headers = {}
1.16 - header_names = self.request.getHeaderNames()
1.17 - if header_names:
1.18 - for header_name in header_names:
1.19 + header_names_enum = self.request.getHeaderNames()
1.20 + while header_names_enum.hasMoreElements():
1.21
1.22 - # NOTE: Retrieve only a single value (not using getHeaders).
1.23 + # NOTE: Retrieve only a single value (not using getHeaders).
1.24
1.25 - headers[header_name] = self.request.getHeader(header_name)
1.26 + header_name = header_names_enum.nextElement()
1.27 + headers[header_name] = self.request.getHeader(header_name)
1.28
1.29 return headers
1.30
1.31 @@ -121,7 +121,11 @@
1.32 'key' is treated as a case-insensitive string.
1.33 """
1.34
1.35 - return self.request.getHeaders(key)
1.36 + values = []
1.37 + headers_enum = self.request.getHeaders(key)
1.38 + while headers_enum.hasMoreElements():
1.39 + values.append(headers_enum.nextElement())
1.40 + return values
1.41
1.42 def get_content_type(self):
1.43
1.44 @@ -130,7 +134,7 @@
1.45 request, along with the charset employed.
1.46 """
1.47
1.48 - content_types = self.get_header_values("Content-Type")
1.49 + content_types = self.get_header_values("Content-Type") or []
1.50 if len(content_types) >= 1:
1.51 return self.parse_content_type(content_types[0])
1.52 else:
1.53 @@ -142,7 +146,7 @@
1.54 Returns the character set preferences.
1.55 """
1.56
1.57 - accept_charsets = self.get_header_values("Accept-Charset")
1.58 + accept_charsets = self.get_header_values("Accept-Charset") or []
1.59 if len(accept_charsets) >= 1:
1.60 return self.parse_content_preferences(accept_charsets[0])
1.61 else:
1.62 @@ -155,7 +159,7 @@
1.63 the transaction.
1.64 """
1.65
1.66 - accept_languages = self.get_header_values("Accept-Language")
1.67 + accept_languages = self.get_header_values("Accept-Language") or []
1.68 if len(accept_languages) >= 1:
1.69 return self.parse_content_preferences(accept_languages[0])
1.70 else:
1.71 @@ -241,8 +245,9 @@
1.72
1.73 parameter_map = self.request.getParameterMap()
1.74 fields = {}
1.75 - for key in parameter_map.keySet():
1.76 - fields[key] = parameter_map[key]
1.77 + if parameter_map:
1.78 + for key in parameter_map.keySet():
1.79 + fields[key] = parameter_map[key]
1.80 return fields
1.81
1.82 def get_user(self):
1.83 @@ -291,7 +296,7 @@
1.84 the transaction.
1.85 """
1.86
1.87 - return self.response.getWriter()
1.88 + return self.response.getOutputStream()
1.89
1.90 def get_response_code(self):
1.91