TsgcWebSocketHTTPServer › Events › OnHTTPUploadBeforeCreatePostStream
Viene generato dopo che le intestazioni della richiesta sono state lette e prima che venga creato lo stream POST, consentendo di accettare o rifiutare il caricamento.
property OnHTTPUploadBeforeCreatePostStream: TsgcWSHTTPBeforeCreatePostStream;
// TsgcWSHTTPBeforeCreatePostStream = procedure(Sender: TObject; const Connection: TsgcWSConnection; const aHeaders: TStrings; var Accept: Boolean) of object
—
OnHTTPUploadBeforeCreatePostStream viene eseguito prima che il componente allochi lo stream POST (un TMemoryStream o un TFileStream in base a HTTPUploadFiles.StreamType) in cui verrà memorizzato il corpo di un upload in arrivo. Ispezionare aHeaders (Content-Type, Content-Length, Authorization...) e la Connection per decidere se l'upload è consentito: impostare Accept a True per continuare a ricevere il corpo, oppure False per scartarlo e restituire un errore al client. Usare questo hook per applicare limiti di dimensione, rifiutare upload non autorizzati in anticipo, oppure validare il Content-Type prima che un corpo multipart/form-data di grandi dimensioni venga bufferizzato su disco.
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;