TsgcWebSocketHTTPServerZdarzenia › OnBeforeCommand

OnBeforeCommand Zdarzenie

Wywoływane przed OnCommandGet lub OnCommandOther, aby żądanie mogło być sprawdzone, autoryzowane lub krótko-obwodowane odpowiedzią 401.

Składnia

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

Wartość domyślna

Uwagi

Zdarzenie OnBeforeCommand jest wywoływane dla każdego żądania HTTP przed jego przekazaniem przez serwer do procedur OnCommandGet lub OnCommandOther. Należy przejrzeć obiekt ARequestInfo (Document, Params, Headers, RemoteIP...), aby określić sposób obsługi żądania i odpowiednio ustawić parametr aOptions. Dołączenie opcji hcoUnauthorized powoduje natychmiastowe odrzucenie żądania odpowiedzią 401 (przydatne do blokowania punktu końcowego bez pisania własnej odpowiedzi), opcja hcoAuthorizedBasic wymusza uwierzytelnianie Basic, a pozostawienie zbioru pustego pozwala na działanie standardowych procedur obsługi poleceń. Jest to zalecane miejsce do obsługi publicznych i uwierzytelnionych punktów końcowych na tym samym serwerze.

Przykład


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

Powrót do Zdarzeń