TsgcWebSocketServer_HTTPAPIZdarzenia › 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: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object

Wartość domyślna

Uwagi

OnBeforeForwardHTTP jest wywoływane dla każdego żądania HTTP odebranego przez HTTP.SYS i pozwala serwerowi działać jako odwrotny serwer proxy dla wybranych punktów końcowych. Należy sprawdzić aRequestInfo.Document, aby zdecydować, czy żądanie musi zostać przekazane; gdy tak jest, należy ustawić aForward.Enabled na True i przypisać aForward.URL do docelowego serwera. Dodatkowe właściwości obiektu aForward precyzują przekazywane żądanie: Document (zastąpienie ś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 OnHTTPRequest jak zwykle.

Przykład


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

Powrót do Zdarzeń