【发布时间】:2019-08-17 20:48:55
【问题描述】:
我正在使用 Heroku 平台放置简单的 webhook,它是用 python 编写的,使用 Flask。我使用的云系统向我的 webhook 发送 POST 请求,向我发送一些数据,我应该做出响应。
我想记录所有请求和响应。 有时,云系统可能会再次向我的 webhook 发送相同的请求(无论出于何种原因 - 我没有在指定的时间或类似的时间发送响应)。
我想区分这样的请求。如果我只是将关于我得到的信息放入日志中,我可能会在我的日志中看到如下内容:
1) 开始处理请求(第一个请求)
2) 开始处理请求(第二个请求)
3) 计算响应(第一个请求)
4) 计算响应(第二个响应)
我想为每一行添加一些唯一标识符,例如会话 ID,以过滤属于同一进程的所有条目。
这怎么可能?
这里是示例代码:
# import of necessary modules
import modules
app = Flask(__name__)
app.config.from_json('config.json')
@app.route("/", methods=['GET', 'POST'])
def index():
body = request.data
signature = request.headers['x-pyrus-sig']
secret = str.encode(app.config['SECRET_KEY'])
if _is_signature_correct(body, secret, signature):
return _prepare_response(body.decode('utf-8'))
def _is_signature_correct(message, secret, signature):
...
# Verifying that request is from trusted source
def _prepare_response(body):
...
# Sending the response
if __name__ == "__main__":
app.run()
【问题讨论】:
标签: python heroku flask webhooks