Use OnCommandGet para tratar as requisições de clientes HTTP. Use os seguintes parâmetros:
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;
Utilize este evento para personalizar a resposta HTTP. Por exemplo, se você quiser que alguns endpoints utilizem um esquema de autorização enquanto outros possam ser acessados sem autorização, utilize o parâmetro options para permitir ou desabilitá-lo. Abaixo está um exemplo em que a Authorization Basic está habilitada, mas quando um usuário requisita o endpoint /public, a autorização não é necessária.
procedure OnBeforeCommand(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions);
begin
if aRequestInfo.Document = '/public' then
aOptions := [hcoAuthorizedBasic];
end;