TsgcWebSocketHTTPServerOlaylar › OnBeforeCommand

OnBeforeCommand Olay

İsteğin incelenebilmesi, yetkilendirilebilmesi veya 401 yanıtıyla kısa devre yaptırılabilmesi için OnCommandGet veya OnCommandOther'dan önce tetiklenir.

Sözdizimi

property OnBeforeCommand: TsgcWSOnBeforeCommand;
// TsgcWSOnBeforeCommand = procedure(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions) of object

Varsayılan Değer

Remarks

OnBeforeCommand, sunucu isteği OnCommandGet veya OnCommandOther'a dağıtmadan önce her HTTP isteği için çalışır. İsteğin nasıl işlenmesi gerektiğine karar vermek için ARequestInfo'yu (Document, Params, Headers, RemoteIP...) inceleyin ve aOptions değerini buna göre atayın. İsteği 401 yanıtıyla hemen reddetmek için hcoUnauthorized'ı dahil edin (herhangi bir yanıt yazmadan bir uç noktayı korumak için kullanışlıdır), Basic kimlik doğrulamasını zorlamak için hcoAuthorizedBasic'i dahil edin veya normal komut işleyicilerinin çalışmasına izin vermek için kümeyi boş bırakın. Olay, aynı sunucuda genel ve kimlik doğrulamalı uç noktaları karıştırmak için önerilen yerdir.

Örnek


procedure OnBeforeCommand(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions);
begin
  if aRequestInfo.Document = '/public' then
    aOptions := [hcoAuthorizedBasic];
end;

Olaylara Dön