2016-10-02 90 views
0

我正尝试使用自定义记录器从Bottle REST服务记录输出。问题是瓶子错误页面默认具有200的HTTP响应代码,所以记录器总是记录200 OK,因为它看起来在response.statusMake Bottle返回正确的响应代码,而不是200

我试过让自定义错误处理程序设置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

相关问题