【发布时间】:2021-11-27 00:36:23
【问题描述】:
我有一个简单的 Flask 应用程序,我在其中添加了一个装饰器,以确保每个请求都存在特定的标头。
import functools
from http import HTTPStatus
import flask
from flask.typing import ResponseReturnType
app = flask.Flask(__name__)
# What type hints should be added to this?
def requires_header(func):
@functools.wraps(func)
def check_headers(*args, **kwargs):
if not flask.request.headers.get("X-Foo"):
flask.abort(HTTPStatus.NOT_FOUND)
return func(*args, **kwargs)
return check_headers
@app.route("/", methods=["GET"])
@requires_header
def root() -> ResponseReturnType:
return flask.jsonify(success=True)
if __name__ == "__main__":
flask.run(host=0.0.0.0, port=3000)
我应该向requires_header 装饰器添加什么类型提示?
【问题讨论】:
标签: python python-decorators type-hinting python-typing