本文整理汇总了Python中webob.Response.headers['location']方法的典型用法代码示例。如果您正苦于以下问题:Python Response.headers['location']方法的具体用法?Python Response.headers['location']怎么用?Python Response.headers['location']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Response
的用法示例。
在下文中一共展示了Response.headers['location']方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import headers['location'] [as 别名]
def __call__(self, environ, start_response):
relative_urls = asbool(self.config.get('adhocracy.relative_urls',
'false'))
environ['adhocracy.domain'] = self.domain
instance_key = self.config.get('adhocracy.instance')
if instance_key is None:
instance_key = self.domains_instances.get(environ.get('HTTP_HOST'))
if instance_key is None:
if relative_urls:
path = environ.get('PATH_INFO', '')
if path.startswith('/i/'):
instance_key = path.split('/')[2]
environ['PATH_INFO'] = path[len('/i/' + instance_key):]
if environ['PATH_INFO'] == '':
response = Response()
if instance_key == '':
response.status_int = 404
# Double slashes are stripped, so we can't redirect
# to /i//
return response(environ, start_response)
response.status_int = 302
response.headers['location'] = path + '/'
return response(environ, start_response)
else:
host = environ.get('HTTP_HOST', "")
host = host.replace(self.domain, "")
host = host.replace('localhost', "")
host = host.split(':', 1)[0]
host = host.strip('.').strip()
instance_key = host
if instance_key: # instance key is set (neither None nor "")
instance = model.Instance.find(instance_key)
if instance is None:
response = Response()
if not relative_urls:
# HTTP_HOST needs to be set to an existing domain,
# otherwise we end up here again after being internally
# redirected from StatusCodeRedirect and produce a white
# page.
environ['HTTP_HOST'] = self.domain
# Fair handling of users prefixing everything with www.
if instance_key == 'www':
response.status_int = 301
response.headers['location'] = \
base_url(environ.get('PATH_INFO', '/'),
absolute=True, config=self.config)
return response(environ, start_response)
response.status_int = 404
return response(environ, start_response)
else:
model.instance_filter.setup_thread(instance)
try:
return self.app(environ, start_response)
finally:
model.instance_filter.setup_thread(None)
示例2: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import headers['location'] [as 别名]
def __call__(self, environ, start_response):
relative_urls = asbool(self.config.get('adhocracy.relative_urls',
'false'))
environ['adhocracy.domain'] = self.domain
instance_key = self.config.get('adhocracy.instance')
if instance_key is None:
if relative_urls:
path = environ.get('PATH_INFO', '')
if path.startswith('/i/'):
instance_key = path.split('/')[2]
environ['PATH_INFO'] = path[len('/i/' + instance_key):]
if environ['PATH_INFO'] == '':
response = Response()
if instance_key == '':
response.status_int = 404
# Double slashes are stripped, so we can't redirect
# to /i//
return response(environ, start_response)
response.status_int = 302
response.headers['location'] = path + '/'
return response(environ, start_response)
else:
host = environ.get('HTTP_HOST', "")
host = host.replace(self.domain, "")
host = host.replace('localhost', "")
host = host.split(':', 1)[0]
host = host.strip('.').strip()
instance_key = host
if instance_key: # instance key is set (neither None nor "")
instance = model.Instance.find(instance_key)
if instance is None:
if (not relative_urls) and instance_key == 'www':
log.debug("No such instance: www, defaulting to global!")
else:
response = Response()
response.status_int = 404
return response(environ, start_response)
else:
model.instance_filter.setup_thread(instance)
try:
return self.app(environ, start_response)
finally:
model.instance_filter.setup_thread(None)