TsgcHTTPServer › Olaylar › 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 uç noktalar için bir ters proxy olarak davranmasına olanak tanır. İsteğin yönlendirilip yönlendirilmeyeceğine karar vermek için ARequestInfo.Document'i inceleyin; yönlendirilmesi gerektiğinde, aForward.Enabled'ı True olarak ayarlayın ve aForward.URL'yi hedef sunucuya atayın. aForward nesnesindeki ek özellikler yönlendirilen isteği inceltir: Document (hedef yolu geçersiz kılar), 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;