TsgcHTTPServer › Olaylar › OnAfterForwardHTTP

OnAfterForwardHTTP Olay

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.

Sözdizimi

property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object

Varsayılan Değer

—

Remarks

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.

Örnek


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;

Olaylara Dön