TsgcWebSocketHTTPServerEvents › 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