TsgcWebSocketHTTPServer › Zdarzenia › OnHTTPUploadBeforeCreatePostStream
Wywoływane po odczytaniu nagłówków żądania, a przed utworzeniem strumienia POST, umożliwiając akceptację lub odrzucenie przesyłania.
property OnHTTPUploadBeforeCreatePostStream: TsgcWSHTTPBeforeCreatePostStream;
// TsgcWSHTTPBeforeCreatePostStream = procedure(Sender: TObject; const Connection: TsgcWSConnection; const aHeaders: TStrings; var Accept: Boolean) of object
—
Zdarzenie OnHTTPUploadBeforeCreatePostStream jest wywoływane przed alokacją przez komponent strumienia POST (TMemoryStream lub TFileStream, w zależności od ustawienia HTTPUploadFiles.StreamType), w którym będzie przechowywana treść przychodzącego przesyłania. Należy sprawdzić właściwości aHeaders (Content-Type, Content-Length, Authorization...) i parametry Connection, aby zdecydować, czy przesyłanie jest dozwolone: ustaw Accept na True, aby kontynuować odbieranie treści, lub False, aby odrzucić przesyłanie i zwrócić błąd klientowi. Ten hook pozwala egzekwować limity rozmiaru, wcześnie odrzucać nieautoryzowane przesyłania lub sprawdzać Content-Type przed buforowaniem dużej treści multipart/form-data na dysku.
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;