def api_deprecated(new_endpoint, message='This endpoint is deprecated.'):
"""Decorator that adds a deprecation message for and endpoint.
Decorated function will not be executed.
:param new_endpoint: New endpoint to use
:param message: Warning message
:return:
:rtype: func
"""
def decorator(f):
@functools.wraps(f)
def wrapped(*args, **kwargs):
response = jsonify({
'message': message,
'endpoint': url_for(new_endpoint, _external=True)
})
# response = jsonify(rv)
response.status_code = 301
response.headers['DO-New-Endpoint'] = \
url_for(new_endpoint, _external=True)
return response
return wrapped
return decorator
评论列表
文章目录