TsgcWebSocketHTTPServerZdarzenia › OnHTTPUploadBeforeCreatePostStream

OnHTTPUploadBeforeCreatePostStream Zdarzenie

Wywoływane po odczytaniu nagłówków żądania, a przed utworzeniem strumienia POST, umożliwiając akceptację lub odrzucenie przesyłania.

Składnia

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

Wartość domyślna

Uwagi

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.

Przykład


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;

Powrót do Zdarzeń