本文整理汇总了Python中webob.Response.__call__方法的典型用法代码示例。如果您正苦于以下问题:Python Response.__call__方法的具体用法?Python Response.__call__怎么用?Python Response.__call__使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Response
的用法示例。
在下文中一共展示了Response.__call__方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
if environ['REQUEST_METHOD'] == 'HEAD':
start_response(self.status, self.headerlist)
return []
if not self.body and not self.empty_body:
return self.generate_response(environ, start_response)
return Response.__call__(self, environ, start_response)
示例2: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
self.request = Request(environ)
self.environ = environ
url_match = self.app_by_url()
if url_match:
params = self.environ.get('params', {})
params.update(url_match.params)
if url_match.app == 'self':
if self.request.method in self.ALLOWED_HTTP_METHODS:
self.dispatch(params)
if self.responsable:
return self.call(environ, start_response)
else:
return Response.__call__(self, environ, start_response)
else:
return HTTPMethodNotAllowed()(environ, start_response)
else:
environ['SCRIPT_NAME'] += url_match.app_url
environ['PATH_INFO'] = self.request.path_info.lstrip('/')[len(
url_match.app_url):]
environ['params'] = params
return url_match.app(environ, start_response)
else:
return HTTPNotFound('%s is not found on this server' %
self.request.path)(environ, start_response)
示例3: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
if self.body or self.empty_body:
app_iter = Response.__call__(self, environ, start_response)
else:
app_iter = self.generate_response(environ, start_response)
if environ['REQUEST_METHOD'] == 'HEAD':
app_iter = []
return app_iter
示例4: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
# differences from webob.exc.WSGIHTTPException
#
# - does not try to deal with HEAD requests
#
# - does not manufacture a new response object when generating
# the default response
#
self.prepare(environ)
return Response.__call__(self, environ, start_response)
示例5: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
d = environ['sancus.pos_args']
kw = environ['sancus.named_args']
h = environ['sancus.handler']
hn = environ['sancus.handler_name']
ret = h(self.request, *d, **kw)
if ret is None:
return Response.__call__(self, environ, start_response)
elif ret == 404:
raise exc.HTTPNotFound()
elif ret == 405:
raise exc.HTTPMethodNotAllowed(allow = self.supported_methods(environ))
elif ret == 400:
raise exc.HTTPBadRequest()
elif ret == 503:
raise exc.HTTPServiceUnavailable()
else:
assert "handler %s returned %r" % (hn, ret)
示例6: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
named_args = environ['sancus.args']
handler = environ['sancus.handler']
self.__logger__.debug('handler:%r, named_args:%r' % (handler, named_args))
ret = handler(self.request, **named_args)
if ret is None:
return Response.__call__(self, environ, start_response)
elif ret == 404:
raise exc.HTTPNotFound()
elif ret == 405:
raise exc.HTTPMethodNotAllowed(allow = self.supported_methods())
elif ret == 400:
raise exc.HTTPBadRequest()
elif ret == 503:
raise exc.HTTPServiceUnavailable()
else:
log.warn("%r returned %r" % (h, ret))
raise exc.HTTPInternalServerError("%d returned from handler not supported" % ret)
示例7: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import __call__ [as 别名]
def __call__(self, environ, start_response):
"Return the HTTP response"
self.content_type = 'text/javascript; charset=utf-8'
self.body = json.dumps(self.detail)
return Response.__call__(self, environ, start_response)