本文整理汇总了Python中webob.Response.logged_body方法的典型用法代码示例。如果您正苦于以下问题:Python Response.logged_body方法的具体用法?Python Response.logged_body怎么用?Python Response.logged_body使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类webob.Response
的用法示例。
在下文中一共展示了Response.logged_body方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __call__
# 需要导入模块: from webob import Response [as 别名]
# 或者: from webob.Response import logged_body [as 别名]
def __call__(self, req):
resp = None
success = False
try:
if req.path_info not in self._routes:
raise exc.HTTPNotFound
if req.method != 'POST':
raise exc.HTTPMethodNotAllowed(explanation='Only POST allowed')
if req.content_length > self.REQMAXBYTES:
req.logged_body = req.body_file.read(self.REQMAXBYTES) + '...'
raise exc.HTTPRequestEntityTooLarge(explanation='Request max '
'size is {0} bytes'.format(self.REQMAXBYTES))
reqjson = loads(req.body)
req.logged_body = reqjson
handler = self._routes[req.path_info]
respjson = handler(self, reqjson)
resp = Response(body=dumps(respjson), content_type='application/json')
resp.logged_body = respjson
success = True
except Exception as e:
if isinstance(e, exc.HTTPException):
resp = e
elif isinstance(e, (JSONDecodeError, SchemaError)):
resp = exc.HTTPBadRequest(explanation=repr(e))
else:
resp = exc.HTTPInternalServerError(explanation=repr(e))
resp.logged_body = resp.explanation
finally:
try:
self.log(req, resp, success)
except Exception as e:
resp = exc.HTTPInternalServerError(explanation='Log failure: {0}\n'
'req: {1}\nresp: {2}'.format(repr(e), getattr(req, 'logged_body', None),
getattr(resp, 'logged_body', None)))
return resp