Make Bottle返回正确的响应代码,而不是200

时间:2016-10-02 07:55:26

标签: http-headers bottle

我尝试使用自定义记录器记录Bottle REST服务的输出。问题是,瓶子错误页面默认的HTTP响应代码为200,因此记录器始终记录200 OK,因为它查看response.status

我已尝试制作设置response.status的自定义错误处理程序,但这不起作用。

1 个答案:

答案 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

相关问题