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 |