TsgcWebSocketServer_HTTPAPI이벤트 › OnHTTPUploadBeforeCreatePostStream

OnHTTPUploadBeforeCreatePostStream 이벤트

요청 헤더가 읽힌 후, POST 스트림이 생성되기 전에 발생하므로 업로드를 수락하거나 거부할 수 있습니다.

구문

__property TsgcWSHTTPBeforeCreatePostStream OnHTTPUploadBeforeCreatePostStream;
// typedef void __fastcall (__closure *TsgcWSHTTPBeforeCreatePostStream)(TObject * Sender, const TsgcWSConnection * Connection, const TStrings * aHeaders, bool &Accept);

기본값

설명

OnHTTPUploadBeforeCreatePostStream은 들어오는 업로드의 본문이 저장될 POST 스트림(HTTPUploadFiles.StreamType에 따라 TMemoryStream 또는 TFileStream)을 구성 요소가 할당하기 전에 실행됩니다. 업로드가 허용되는지 결정하기 위해 aHeaders(Content-Type, Content-Length, Authorization...)와 Connection을 검사하십시오: 본문 수신을 계속하려면 Accept를 True로, 폐기하고 클라이언트에 오류를 반환하려면 False로 설정하십시오. 이 후크를 사용하여 크기 제한을 시행하거나, 권한 없는 업로드를 일찍 거부하거나, 큰 multipart/form-data 본문이 디스크에 버퍼링되기 전에 Content-Type을 유효성 검사하십시오.

예제


void OnHTTPUploadBeforeCreatePostStream(TObject *Sender, const TsgcWSConnection *Connection,
  const TStrings *aHeaders, bool &Accept)
{
  Accept = StrToIntDef(aHeaders->Values["Content-Length"], 0) <= 100 * 1024 * 1024;
}

이벤트로 돌아가기