TsgcWebSocketHTTPServerEvents › OnCommandGet

OnCommandGet Zdarzenie

Wywoływane, gdy serwer HTTP odbiera żądanie GET, POST lub HEAD, umożliwiając aplikacji przygotowanie odpowiedzi.

Składnia

property OnCommandGet: TIdHTTPCommandEvent;
// TIdHTTPCommandEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo) of object

Wartość domyślna

Uwagi

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.

Przykład


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;

Powrót do Zdarzeń