Należy użyć zdarzenia OnCommandGet do obsługi żądań HTTP od klientów. Dostępne są następujące parametry:
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;
To zdarzenie umożliwia dostosowanie odpowiedzi HTTP. Na przykład, jeśli niektóre punkty końcowe mają używać schematu autoryzacji, a inne mają być dostępne bez autoryzacji, należy użyć parametru options, aby to włączyć lub wyłączyć. Poniżej przedstawiono przykład, w którym włączona jest autoryzacja Basic, lecz gdy użytkownik żąda zasobu /public, autoryzacja nie jest wymagana.
procedure OnBeforeCommand(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions);
begin
if aRequestInfo.Document = '/public' then
aOptions := [hcoAuthorizedBasic];
end;