Solution
def my_custom_validator(f):
@wraps(f)
def decorated_function(*args, **kwargs):
headers = request.headers
result_validation = some_validations(headers)
my_data = result_validation['some_result']
return f(*args, **kwargs, my_data=my_data) # <-- from here I can attach it to the blueprint
return decorated_function
demo_routes = Blueprint('demo', __name__, url_prefix='/demo')
@demo_routes.route('/', methods=['GET'])
@my_custom_validator
def foo(my_data):
# Now I can manipulate my data from here