Make Bottle返回正确的响应代码,而不是200
问题描述:
我正尝试使用自定义记录器从Bottle REST服务记录输出。问题是瓶子错误页面默认具有200的HTTP响应代码,所以记录器总是记录200 OK
,因为它看起来在response.status
。Make Bottle返回正确的响应代码,而不是200
我试过让自定义错误处理程序设置response.status
,但这不起作用。
答
abort()函数是生成HTTP错误页面的快捷方式。
from bottle import route, abort
@route('/restricted')
def restricted():
abort(401, "Sorry, access denied.")
除此之外,HTTP状态代码(和其它相关信息)被存储在称为response
到在那里它们被传递到浏览器中的点的对象。您可以直接操作Response.status
属性或使用预定义的辅助方法来执行此操作。
HTTP状态代码默认为200 OK。在大多数情况下,您不需要手动设置Response.status属性,但可以使用abort()帮助程序或使用适当的状态码返回HTTPResponse实例。
请参阅教程文档中的HTTP ERRORS AND REDIRECTS。
我不理解问题。如果你提供了一个最小的工作代码片段来展示它,我很乐意看一看。 –