diff options
Diffstat (limited to 'paste/request.py')
| -rw-r--r-- | paste/request.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/paste/request.py b/paste/request.py index 28b1f67..2e7280b 100644 --- a/paste/request.py +++ b/paste/request.py @@ -18,13 +18,12 @@ environment to solve common requirements. """ import cgi -from six.moves import StringIO from six.moves.urllib import parse as urlparse from six.moves.urllib.parse import quote try: # Python 3 from http.cookies import SimpleCookie, CookieError -except ImportError: +except ImportError: # Python 2 from Cookie import SimpleCookie, CookieError @@ -32,6 +31,7 @@ try: from UserDict import DictMixin except ImportError: from collections import MutableMapping as DictMixin +import six from paste.util.multidict import MultiDict @@ -175,11 +175,11 @@ def parse_formvars(environ, include_get_vars=True): old_query_string = environ.get('QUERY_STRING','') environ['QUERY_STRING'] = '' if fake_out_cgi: - input = StringIO('') + input = six.BytesIO(b'') old_content_type = environ.get('CONTENT_TYPE') old_content_length = environ.get('CONTENT_LENGTH') environ['CONTENT_LENGTH'] = '0' - environ['CONTENT_TYPE'] = '' + environ['CONTENT_TYPE'] = '' else: input = environ['wsgi.input'] fs = cgi.FieldStorage(fp=input, @@ -375,7 +375,10 @@ class EnvironHeaders(DictMixin): return key[5:].replace('_', '-').title() else: return None - + + def __len__(self): + return len(self.environ) + def __getitem__(self, item): return self.environ[self._trans_name(item)] |
