2016-10-02 88 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

相關問題