TsgcWebSocketServer_HTTPAPI › Zdarzenia › OnBeforeForwardHTTP
Wywoływane przed wysłaniem żądania HTTP, aby mogło być ono przekazane (reverse-proxy) do innego serwera HTTP.
property OnBeforeForwardHTTP: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object
—
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.
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;