web/request.py
changeset 10662 10942ed172de
parent 10618 3274a1648c7e
child 10671 e08102f45237
equal deleted inserted replaced
10661:e6eb0c7c2e98 10662:10942ed172de
   136         #: raw html headers that can be added from any view
   136         #: raw html headers that can be added from any view
   137         self.html_headers = HTMLHead(self, tracewrites=self.tracehtml)
   137         self.html_headers = HTMLHead(self, tracewrites=self.tracehtml)
   138         #: received headers
   138         #: received headers
   139         self._headers_in = Headers()
   139         self._headers_in = Headers()
   140         if headers is not None:
   140         if headers is not None:
   141             for k, v in headers.iteritems():
   141             for k, v in headers.items():
   142                 self._headers_in.addRawHeader(k, v)
   142                 self._headers_in.addRawHeader(k, v)
   143         #: form parameters
   143         #: form parameters
   144         self.setup_params(form)
   144         self.setup_params(form)
   145         #: received body
   145         #: received body
   146         self.content = BytesIO()
   146         self.content = BytesIO()
   249         """
   249         """
   250         self.form = {}
   250         self.form = {}
   251         if params is None:
   251         if params is None:
   252             return
   252             return
   253         encoding = self.encoding
   253         encoding = self.encoding
   254         for param, val in params.iteritems():
   254         for param, val in params.items():
   255             if isinstance(val, (tuple, list)):
   255             if isinstance(val, (tuple, list)):
   256                 val = [unicode(x, encoding) for x in val]
   256                 val = [unicode(x, encoding) for x in val]
   257                 if len(val) == 1:
   257                 if len(val) == 1:
   258                     val = val[0]
   258                     val = val[0]
   259             elif isinstance(val, str):
   259             elif isinstance(val, str):
   799         return self._headers_in.getHeader(header, default)
   799         return self._headers_in.getHeader(header, default)
   800 
   800 
   801     def header_accept_language(self):
   801     def header_accept_language(self):
   802         """returns an ordered list of preferred languages"""
   802         """returns an ordered list of preferred languages"""
   803         acceptedlangs = self.get_header('Accept-Language', raw=False) or {}
   803         acceptedlangs = self.get_header('Accept-Language', raw=False) or {}
   804         for lang, _ in sorted(acceptedlangs.iteritems(), key=lambda x: x[1],
   804         for lang, _ in sorted(acceptedlangs.items(), key=lambda x: x[1],
   805                               reverse=True):
   805                               reverse=True):
   806             lang = lang.split('-')[0]
   806             lang = lang.split('-')[0]
   807             yield lang
   807             yield lang
   808 
   808 
   809     def header_if_modified_since(self):
   809     def header_if_modified_since(self):