TsgcWebSocketHTTPServerZdarzenia › OnAfterForwardHTTP

OnAfterForwardHTTP Zdarzenie

Wywoływane po przesłaniu żądania HTTP, aby aplikacja mogła sprawdzić wynik lub błąd zwrócony przez serwer nadrzędny.

Składnia

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

Wartość domyślna

Uwagi

Zdarzenie OnAfterForwardHTTP jest wywoływane po tym, jak OnBeforeForwardHTTP włączył przekazywanie i żądanie HTTP do serwera nadrzędnego zostało zakończone. ARequestInfo to oryginalne żądanie klienta, AResponseInfo to odpowiedź gotowa do zapisania (ResponseNo, ContentType, ContentText...) wypełniona przez serwer nadrzędny, a E to nil w przypadku sukcesu lub wyjątek zgłoszony podczas kontaktowania się z serwerem docelowym. Zdarzenia można użyć do rejestrowania wyniku, przepisywania nagłówków/treści odpowiedzi przed jej zwróceniem do klienta lub zastąpienia odpowiedzi niestandardową stroną błędu, gdy wywołanie serwera nadrzędnego nie powiodło się.

Przykład


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;

Powrót do Zdarzeń