TsgcWebSocketServer_HTTPAPIEvents › OnHTTPUploadBeforeCreatePostStream

OnHTTPUploadBeforeCreatePostStream イベント

リクエストヘッダーが読み込まれた後、POST ストリームが作成される前に発火し、アップロードを受け入れるか拒否できます。

構文

property OnHTTPUploadBeforeCreatePostStream: TsgcWSHTTPBeforeCreatePostStream;
// TsgcWSHTTPBeforeCreatePostStream = procedure(Sender: TObject; const Connection: TsgcWSConnection; const aHeaders: TStrings; var Accept: Boolean) of object

デフォルト値

解説

OnHTTPUploadBeforeCreatePostStream は、コンポーネントが受信アップロードのボディを保存する POST ストリーム(HTTPUploadFiles.StreamType に基づく TMemoryStream または TFileStream)を割り当てる前に実行されます。aHeaders(Content-Type、Content-Length、Authorization など)と Connection を検査してアップロードを許可するかどうかを決定します。Accept を True に設定してボディの受信を継続するか、False に設定してボディを破棄してクライアントにエラーを返します。このフックを使用して、サイズ制限を強制する、未承認のアップロードを早期に拒否する、または大きな multipart/form-data ボディがディスクにバッファリングされる前に Content-Type を検証します。

使用例


procedure OnHTTPUploadBeforeCreatePostStream(Sender: TObject; const Connection: TsgcWSConnection;
  const aHeaders: TStrings; var Accept: Boolean);
begin
  Accept := StrToIntDef(aHeaders.Values['Content-Length'], 0) <= 100 * 1024 * 1024;
end;

イベントに戻る