TsgcWebSocketHTTPServer › Events › OnCommandGet
Wywoływane, gdy serwer HTTP odbiera żądanie GET, POST lub HEAD, umożliwiając aplikacji przygotowanie odpowiedzi.
property OnCommandGet: TIdHTTPCommandEvent;
// TIdHTTPCommandEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo) of object
—
OnCommandGet jest głównym punktem wejścia dla ruchu HTTP (GET, POST i HEAD) obsługiwanego przez komponent. ARequestInfo udostępnia żądanie (Document, Params, AuthUsername, Headers, PostStream, RemoteIP itp.), a AResponseInfo to wychodzącą odpowiedź: należy ustawić ContentText lub ContentStream z treścią, ContentType z typem MIME i ResponseNo z kodem statusu HTTP (200, 404 itp.). Wywołanie AResponseInfo.ServeFile pozwala wysłać plik z dysku. Procedury obsługi działają w kontekście wątku połączenia, dlatego należy unikać bezpośredniego dostępu do interfejsu lub przełączyć się na synchronizowane wywołanie. Żądania dotyczące plików znajdujących się w katalogu DocumentRoot są obsługiwane automatycznie i nie wyzwalają tego zdarzenia.
procedure OnCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo);
begin
if ARequestInfo.Document = '/' then
begin
AResponseInfo.ContentText := '<html><head><title>Test Page</title></head><body></body></html>';
AResponseInfo.ContentType := 'text/html';
AResponseInfo.ResponseNo := 200;
end;
end;