TsgcWebSocketHTTPServer | 404-Fehler ohne Antwort-Body

Standardmäßig fügt die Indy-Bibliothek HTTP-Antworten einen Content-Body hinzu, wenn kein ContentText oder ContentStream zugewiesen ist. Wenn Sie einen leeren Antworttext zurückgeben möchten (für einen 404-Fehler oder Ähnliches), können Sie den folgenden Ansatz verwenden.

 

Erstellen Sie einen neuen TStringStream ohne Inhalt und weisen Sie ihn der ContentStream-Eigenschaft der HTTP-Antwort zu. Auf diese Weise wird die HTTP-Antwort ohne die Standard-HTML-Tags gesendet.

 

Beispiel

 


procedure OnCommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; 
  AResponseInfo: TIdHTTPResponseInfo);
begin
  AResponseInfo.ContentStream := TStringStream.Create('');
  AResponseInfo.ContentType := 'text/html';
  AResponseInfo.ResponseNo := 404;
end;