本文整理汇总了Python中webob.Request.environ['PATH_INFO']方法的典型用法代码示例。如果您正苦于以下问题:Python Request.environ['PATH_INFO']方法的具体用法?Python Request.environ['PATH_INFO']怎么用?Python Request.environ['PATH_INFO']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Request
的用法示例。
在下文中一共展示了Request.environ['PATH_INFO']方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import environ['PATH_INFO'] [as 别名]
def __call__(self, environ, start_response):
req = Request(environ)
if 'RAW_URI' in req.environ:
# gunicorn so we can use real path non encoded
u = urlparse.urlparse(req.environ['RAW_URI'])
req.environ['PATH_INFO'] = u.path
resp = self.do_proy(req, environ, start_response)
return resp(environ, start_response)
示例2: application
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import environ['PATH_INFO'] [as 别名]
def application(environ, start_response):
req = Request(environ)
if 'RAW_URI' in req.environ:
# gunicorn so we use real path non encoded
u = urlparse.urlparse(req.environ['RAW_URI'])
req.environ['PATH_INFO'] = u.path
# do smth like adding oauth headers ..
resp = req.get_response(proxy)
# rewrite response
# do auth ...
return resp(environ, start_response)
示例3: middleware
# 需要导入模块: from webob import Request [as 别名]
# 或者: from webob.Request import environ['PATH_INFO'] [as 别名]
def middleware(environ, start_response):
request = Request(environ).copy()
response = request.get_response(django)
if response.status_int != 305:
return response(environ, start_response)
data = json.loads(response.body)
proxy = RemoteProxy([data['base_url']], rewrite_links=True)
request.environ.pop("HTTP_ACCEPT_ENCODING", None)
request.environ['SCRIPT_NAME'] = str(data['script_name']).rstrip("/")
request.environ['PATH_INFO'] = "/" + str(data['path_info'].lstrip("/") )
from Cookie import SimpleCookie as Cookie
orig_cookie = cookie = request.environ.get('HTTP_COOKIE')
if cookie:
cookie = Cookie(cookie)
for key in data['cookie_blacklist']:
cookie.pop(key, None)
cookiestr = []
for key, value in cookie.items():
cookiestr.append(value.OutputString())
cookiestr = "; ".join(cookiestr)
request.environ['HTTP_COOKIE'] = cookiestr
request.environ['HTTP_X_THING_THEME'] = data['theme']
filter = deliverance(proxy)
def per_project_theme(environ):
return "%(wsgi.url_scheme)s://%(HTTP_HOST)s%(HTTP_X_THING_THEME)s" % environ
filter.default_theme = per_project_theme
filter.rule_getter = TemplateRuleGetter(data['deliverance_rules'])
filter.use_internal_subrequest = lambda *args, **kw: False
base_subrequest = filter.build_external_subrequest
def build_external_subrequest(url, orig_req, log):
subreq = base_subrequest(url, orig_req, log)
if url.endswith("/theme/") and orig_cookie:
subreq.environ['HTTP_COOKIE'] = orig_cookie
return subreq
filter.build_external_subrequest = build_external_subrequest
resp = request.get_response(filter)
return resp(request.environ, start_response)