TsgcWebSocketHTTPServer › Events › OnBeforeForwardHTTP

OnBeforeForwardHTTP Olay

Bir HTTP isteği gönderilmeden önce tetiklenir, böylece başka bir HTTP sunucusuna iletilebilir (ters proxy).

Sözdizimi

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

Varsayılan Değer

—

Remarks

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.

Örnek


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;

Olaylara Dön