認証後に保護されたファイルへのアクセスを許可する単純なラック アプリケーションを作成しています。
ファイル内のデータは機密であるため、アプリケーションの非公開フォルダーに配置されています。
今のところ、セッション データを確認した後、読み取り用にファイルを開き、その内容を応答の本文として送信します。
それは醜く感じられ、大きなファイルでは非常にリソースを消費するに違いありません.
応答例:
[ "200", {"Content-Type"=> MIME::Types.type_for(file).first.to_s }, File.open( file ).read() ]
Rack::Sendfileを調べましたが、私が理解している限り、これはミドルウェアであり、アプリケーション自体からファイルを送信することはできません。
Rack アプリケーションから非公開のバイナリ ファイルを送信する最も効率的な方法は何ですか?