私は、ファイルのアップロード(通常は大きなもの)を処理するPython/Bottleを使用して記述されたRESTフロントエンドを持っています。APIは、次のように記述されています。
クライアントは、ファイルをペイロードとしてPUTを送信します。特に、DateヘッダーとAuthorizationヘッダーを送信します。これはリプレイ攻撃に対するセキュリティ対策です。リクエストは、ターゲットURL、日付、その他いくつかのものを使用して、一時的なキーで歌われます。
今問題。提供された日付が15分の指定された日時ウィンドウ内にある場合、サーバーは要求を受け入れます。アップロードに十分な時間がかかる場合は、許可された時間デルタよりも長くなります。現在、リクエストの承認処理は、ボトルビューメソッドのデコレータを使用して行われます。ただし、アップロードが終了しない限り、ボトルはディスパッチプロセスを開始しないため、長いアップロードでは検証が失敗します。
私の質問は、リクエストをすぐに処理し、アップロードをストリーミングするようにボトルまたはWSGIに説明する方法はありますか?これは他の理由でも私にとっては役に立ちます。または他の解決策はありますか?これを書いているときに、WSGIミドルウェアが思い浮かびますが、それでも、外部からの洞察が必要です。
RESTフロントエンドは非常に軽量なので、Flaskや他のPythonフレームワークに切り替えてもかまいません。
ありがとうございました