TsgcWebSocketServer_HTTPAPI › Events › OnAfterForwardHTTP
Wywoływane po przesłaniu żądania HTTP, aby aplikacja mogła sprawdzić wynik lub błąd zwrócony przez serwer nadrzędny.
property OnAfterForwardHTTP: TsgcWSHTTPAPIAfterForwardHTTP;
// TsgcWSHTTPAPIAfterForwardHTTP = procedure(Connection: TsgcWSConnection; aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; E: Exception) of object
—
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ę.
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;