TsgcHTTPServer › Olaylar › OnAfterForwardHTTP
Bir HTTP isteği yönlendirildikten sonra tetiklenir, böylece uygulama sonucu veya yukarı akış sunucusu tarafından döndürülen bir hatayı inceleyebilir.
property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object
—
OnAfterForwardHTTP, OnBeforeForwardHTTP yönlendirmeyi etkinleştirdikten ve yukarı akış HTTP isteği tamamlandıktan sonra tetiklenir. ARequestInfo orijinal istemci isteğidir, AResponseInfo yukarı akış sunucusundan doldurulduğu şekliyle geri yazılmak üzere olan yanıttır (ResponseNo, ContentType, ContentText...) ve E, başarı durumunda nil veya hedef sunucuyla iletişim kurarken oluşan istisnadır. Sonucu günlüğe kaydetmek, istemciye döndürülmeden önce yanıt başlıklarını/gövdesini yeniden yazmak veya yukarı akış çağrısı başarısız olduğunda yanıtı özel bir hata sayfasıyla geçersiz kılmak için olayı kullanın.
procedure OnAfterForwardHTTP(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; E: Exception);
begin
if Assigned(E) then
begin
AResponseInfo.ResponseNo := 502;
AResponseInfo.ContentText := 'Upstream error: ' + E.Message;
end
else
Log(Format('forwarded %s -> %d', [ARequestInfo.Document, AResponseInfo.ResponseNo]));
end;