2017-07-29 59 views
2

我有一個Flask RESTapi,它被多個團隊使用,我想記錄用戶統計信息。 API沒有任何用戶身份驗證機制,因爲它在我們的企業環境中不需要(它駐留在內部服務器上,因此無論誰可以訪問它,他/她都有權這樣做)。Flask:添加使用統計信息

不過,我想知道大部分請求來自哪裏。當然,我可以輕鬆地將記錄器添加到每條路徑上的數據庫中,並且保存request.remote_addr,但是我希望在調用具體路由之前執行此操作(因爲無論如何,哪個路由實際上被調用並不重要,我仍然需要用戶統計信息) ;並且可以將其複製到其他基於Flask的API,因此每次創建路由時都不需要記住添加用戶記錄器。

那麼,問題是我應該尋找哪一部分Flask,以便在請求被分派到具體路由之前添加我的額外功能?

回答

4

Flask具有before before_request函數,您可以使用全局請求對象訪問當前請求。

from flask import request 

@app.before_request 
def working(): 
    do_something_with_request(request)