TsgcWebSocketHTTPServer › Events › OnBeforeForwardHTTP
Bir HTTP isteği gönderilmeden önce tetiklenir, böylece başka bir HTTP sunucusuna iletilebilir (ters proxy).
property OnBeforeForwardHTTP: TsgcWSOnBeforeForwardHTTP;
// TsgcWSOnBeforeForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; aForward: TsgcWSServerForwardHTTP) of object
—
OnBeforeForwardHTTP, her HTTP isteği için tetiklenir ve sunucunun seçili endpoint'ler için bir ters proxy görevi görmesine olanak tanır. İsteğin iletilmesi gerekip gerekmediğine karar vermek için ARequestInfo.Document'ı inceleyin; iletilmesi gerektiğinde, aForward.Enabled'ı True olarak ayarlayın ve aForward.URL'yi hedef sunucuya atayın. aForward nesnesindeki ek özellikler iletilen isteğin ince ayarını yapar: Document (hedef yolu geçersiz kıl), QueryParams, Host, Origin, CustomHeaders, LogFilename, NoCache ve HTTPS hedefleri için TLSOptions. aForward.Enabled False kaldığında istek her zamanki gibi OnCommandGet/OnCommandOther aracılığıyla yerel olarak sunulur.
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;