wsgi/request.py
changeset 8309 48ef505aa9f9
parent 7879 9aae456abab5
child 8314 cfd6ab461849
equal deleted inserted replaced
8308:805a257709f6 8309:48ef505aa9f9
    38 
    38 
    39 class CubicWebWsgiRequest(CubicWebRequestBase):
    39 class CubicWebWsgiRequest(CubicWebRequestBase):
    40     """most of this code COMES FROM DJANO
    40     """most of this code COMES FROM DJANO
    41     """
    41     """
    42 
    42 
    43     def __init__(self, environ, vreg, base_url=None):
    43     def __init__(self, environ, vreg):
    44         self.environ = environ
    44         self.environ = environ
    45         self.path = environ['PATH_INFO']
    45         self.path = environ['PATH_INFO']
    46         self.method = environ['REQUEST_METHOD'].upper()
    46         self.method = environ['REQUEST_METHOD'].upper()
    47         self._headers = dict([(normalize_header(k[5:]), v) for k, v in self.environ.items()
    47         self._headers = dict([(normalize_header(k[5:]), v) for k, v in self.environ.items()
    48                               if k.startswith('HTTP_')])
    48                               if k.startswith('HTTP_')])
    49         https = environ.get("HTTPS") in ('yes', 'on', '1')
    49         https = environ.get("HTTPS") in ('yes', 'on', '1')
    50         self._base_url = base_url or self.instance_uri()
       
    51         post, files = self.get_posted_data()
    50         post, files = self.get_posted_data()
    52         super(CubicWebWsgiRequest, self).__init__(vreg, https, post)
    51         super(CubicWebWsgiRequest, self).__init__(vreg, https, post)
    53         if files is not None:
    52         if files is not None:
    54             for key, (name, _, stream) in files.iteritems():
    53             for key, (name, _, stream) in files.iteritems():
    55                 name = unicode(name, self.encoding)
    54                 name = unicode(name, self.encoding)
    64         meta = pformat(self.environ)
    63         meta = pformat(self.environ)
    65         return '<CubicWebWsgiRequest\FORM:%s,\nMETA:%s>' % \
    64         return '<CubicWebWsgiRequest\FORM:%s,\nMETA:%s>' % \
    66             (form, meta)
    65             (form, meta)
    67 
    66 
    68     ## cubicweb request interface ################################################
    67     ## cubicweb request interface ################################################
    69 
       
    70     def base_url(self):
       
    71         return self._base_url
       
    72 
    68 
    73     def http_method(self):
    69     def http_method(self):
    74         """returns 'POST', 'GET', 'HEAD', etc."""
    70         """returns 'POST', 'GET', 'HEAD', etc."""
    75         return self.method
    71         return self.method
    76 
    72