我尝试使用自定义记录器记录Bottle REST服务的输出。问题是,瓶子错误页面默认的HTTP响应代码为200,因此记录器始终记录200 OK
,因为它查看response.status
。
我已尝试制作设置response.status
的自定义错误处理程序,但这不起作用。
答案 0 :(得分:0)
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。