# -*- coding:utf-8 -*- from functools import wraps from flask import abort from flask import request from api.lib.perm.acl.cache import AppCache, AppAccessTokenCache from api.lib.perm.acl.resp_format import ErrFormat def validate_app(func): @wraps(func) def wrapper(*args, **kwargs): if not request.headers.get('App-Access-Token', '').strip(): app_id = request.values.get('app_id') app = AppCache.get(app_id) if app is None: return abort(400, ErrFormat.app_not_found.format("id={}".format(app_id))) request.values['app_id'] = app.id return func(*args, **kwargs) return wrapper