TsgcWebSocketServer_HTTPAPIEvents › 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: TsgcWSHTTPAPIAfterForwardHTTP;
// TsgcWSHTTPAPIAfterForwardHTTP = procedure(Connection: TsgcWSConnection; aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; E: Exception) of object

Wartość domyślna

Uwagi

OnAfterForwardHTTP jest wywoływane po tym, jak OnBeforeForwardHTTP włączyło przekazywanie i żądanie HTTP do upstream zostało zakończone. aRequestInfo to oryginalne żądanie klienta, aResponseInfo to odpowiedź, która ma zostać zapisana z powrotem do klienta (ResponseNo, ContentType, ContentText…) wypełniona przez serwer upstream, a E to nil przy sukcesie lub wyjątek rzucony podczas kontaktowania się z docelowym serwerem. Zdarzenia należy używać do rejestrowania wyniku, przepisywania nagłówków/treści odpowiedzi przed jej zwróceniem do klienta lub zastępowania odpowiedzi niestandardową stroną błędu, gdy wywołanie upstream nie powiodło się.

Przykład


procedure OnAfterForwardHTTP(Connection: TsgcWSConnection;
  aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse;
  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ń