TsgcWebSocketHTTPServerZdarzenia › OnBeforeForwardHTTP

OnBeforeForwardHTTP Zdarzenie

Wywoływane przed wysłaniem żądania HTTP, aby mogło być ono przekazane (reverse-proxy) do innego serwera HTTP.

Składnia

property OnBeforeForwardHTTP: TsgcWSOnBeforeForwardHTTP;
// TsgcWSOnBeforeForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; aForward: TsgcWSServerForwardHTTP) of object

Wartość domyślna

Uwagi

OnBeforeForwardHTTP jest wywoływane dla każdego żądania HTTP i pozwala serwerowi działać jako odwrotne proxy dla wybranych punktów końcowych. Należy sprawdzić ARequestInfo.Document, aby zdecydować, czy żądanie powinno zostać przekazane dalej; jeśli tak, należy ustawić aForward.Enabled na True i przypisać aForward.URL do docelowego serwera. Dodatkowe właściwości obiektu aForward pozwalają dostosować przekazywane żądanie: Document (nadpisanie ścieżki docelowej), QueryParams, Host, Origin, CustomHeaders, LogFilename, NoCache oraz TLSOptions dla celów HTTPS. Gdy aForward.Enabled pozostaje False, żądanie jest obsługiwane lokalnie przez OnCommandGet/OnCommandOther jak zwykle.

Przykład


procedure OnBeforeForwardHTTP(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  aForward: TsgcWSServerForwardHTTP);
begin
  if ARequestInfo.Document = '/internal' then
  begin
    aForward.Enabled := True;
    aForward.URL := 'http://localhost:8080';
  end;
end;

Powrót do Zdarzeń