如何使用请求 Sigv4Request 库将烧瓶请求镜像到 sigv4 签名请求

问题描述

我在 Flask 中有一大块代码充当代理,它接受您对它提出的任何请求,并将其重新发送到另一个端点但已签名。我已经去除了很多多余的绒毛并将其浓缩到最低限度。我的问题是,是否有一种聪明的方法可以从烧瓶请求中取出所有内容并通过 sigv4 调用将其输出?像 url 参数、正文数据、标题等。在这种情况下,我只是真正转发非常具体的数据,我可以逐个添加字段,但我想看看是否有更有效/更聪明的方法来做到这一点.

@app.route('/index/<path:path>',methods=['GET','POST','PUT','PATCH','DELETE'])
def delegator(path):
    sigv4_request = sigv4Request(region=someregion)
    request_api_path = f'https://{os.environ.get("STAGE")}.example.com/api/v1/{path}'
    return jsonify(getattr(sigv4_request,request.method.lower())(
        url=request_api_path,headers={'X-FORWARDED-USER': request.remote_user},data=request.data
    ).json())

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)