Verwenden Sie OnCommandGet, um HTTP-Client-Anfragen zu behandeln. Verwenden Sie die folgenden Parameter:
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;
Verwenden Sie dieses Ereignis, um die HTTP-Response anzupassen. Wenn Sie zum Beispiel möchten, dass einige Endpunkte ein Autorisierungsschema verwenden, während auf andere ohne Autorisierung zugegriffen werden kann, verwenden Sie den Options-Parameter, um es zu erlauben oder zu deaktivieren. Nachfolgend ein Beispiel, bei dem Authorization Basic aktiviert ist, aber wenn ein Benutzer den Endpunkt /public anfordert, ist keine Autorisierung erforderlich.
procedure OnBeforeCommand(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions);
begin
if aRequestInfo.Document = '/public' then
aOptions := [hcoAuthorizedBasic];
end;