flask.wrappers.Response上的状态代码不正确

时间:2019-04-04 18:53:15

标签: flask

我正在尝试向烧瓶路径添加装饰器,但是Response对象的状态代码错误。这是一个示例(请注意,我将状态代码更改为202):

from flask import Flask, jsonify
from functools import wraps

def my_decorator(og_func):
    @wraps(og_func)
    def wrapper(*args, **kwargs):
        result, status_code = og_func(*args, **kwargs)
        print(f"status code of flask.wrappers.Response object: {result.status_code}")
        print(f"status code of actual response: {status_code}")
        # log status code somewhere
        return result, status_code
    return wrapper

app = Flask(__name__)

@app.route("/")
@my_decorator
def home():
    data = {"hello": "world"}
    return jsonify(data), 202

if __name__ == "__main__":
    app.run(debug=True)

如果运行此flask api并使用邮差或curl到达home端点,则后端会显示以下日志:

status code of Response object: 200
status code of actual response: 202
127.0.0.1 - - [04/Apr/2019 11:44:42] "GET / HTTP/1.1" 202 -

为什么响应对象上的状态代码不正确?我是在做错什么还是这是一个错误?

0 个答案:

没有答案