app_factory.py 文件源码

python
阅读 35 收藏 0 点赞 0 评论 0

项目:rpc-explorer 作者: jtimon 项目源码 文件源码
def api_generic(request, request_processor, app, resource):
    req = {}
    req['method'] = request.method
    req['resource'] = resource
    req['json'] = request.json
    req['params'] = {}

    params = {}
    for k, v in request.args.iteritems():
        try:
            in_json = json.loads(v)
            if type(in_json) is dict:
                params[k] = in_json
            else:
                params[k] = str(in_json)
        except:
            params[k] = v
    req['params'] = params

    auth_form = {}
    if request.authorization:
        auth_form['user'] = request.authorization.username
        auth_form['password'] = request.authorization.password
    else:
        if 'X-User' in request.headers:
            auth_form['user'] = request.headers['X-User']
        if 'X-Token' in request.headers:
            auth_form['token'] = request.headers['X-Token']
    req['auth_form'] = auth_form

    response = request_processor(app, req)
    if 'errors' in response:
        return jsonify({'errors': response['errors']}), 400
    elif request.method == 'GET':
        return jsonify({resource: response['json']}), response['status']
    return jsonify(response['json']), response['status']
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号