1.1 --- a/WebStack/BaseHTTPRequestHandler.py Fri Jun 20 22:22:56 2008 +0200
1.2 +++ b/WebStack/BaseHTTPRequestHandler.py Thu May 27 22:14:33 2004 +0000
1.3 @@ -38,6 +38,10 @@
1.4
1.5 self.cookies_in = Cookie.SimpleCookie(self.get_headers().get("cookie"))
1.6
1.7 + # Cached information.
1.8 +
1.9 + self.storage_body = None
1.10 +
1.11 def commit(self):
1.12
1.13 """
1.14 @@ -188,19 +192,20 @@
1.15 single value is associated with any given field name).
1.16 """
1.17
1.18 - storage = FieldStorage(fp=self.get_request_stream(), headers=self.get_headers(),
1.19 - environ={"REQUEST_METHOD" : self.get_request_method()}, keep_blank_values=1)
1.20 + if self.storage_body is None:
1.21 + self.storage_body = FieldStorage(fp=self.get_request_stream(), headers=self.get_headers(),
1.22 + environ={"REQUEST_METHOD" : self.get_request_method()}, keep_blank_values=1)
1.23
1.24 # Avoid strange design issues with FieldStorage by checking the internal
1.25 # field list directly.
1.26
1.27 fields = {}
1.28 - if storage.list is not None:
1.29 + if self.storage_body.list is not None:
1.30
1.31 # Traverse the storage, finding each field value.
1.32
1.33 - for field_name in storage.keys():
1.34 - fields[field_name] = storage.getlist(field_name)
1.35 + for field_name in self.storage_body.keys():
1.36 + fields[field_name] = self.storage_body.getlist(field_name)
1.37 return fields
1.38
1.39 def get_user(self):