TsgcWebSocketHTTPServer › Events › OnInvalidSession
Disparado quando uma requisição HTTP apresenta um ID de sessão desconhecido ou expirado, para que a aplicação possa decidir como reagir.
property OnInvalidSession: TIdHTTPInvalidSessionEvent;
// TIdHTTPInvalidSessionEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean; const AInvalidSessionID: String) of object
—
OnInvalidSession é gerado quando uma requisição HTTP recebida carrega um cookie de sessão cujo identificador não está presente em SessionList (a sessão expirou ou nunca foi criada neste servidor). AInvalidSessionID é o identificador rejeitado e VContinueProcessing permite que o handler decida o que acontece em seguida: deixe como True para continuar despachando a requisição (útil para servir um redirecionamento a uma página de login a partir de OnCommandGet) ou defina como False para parar o pipeline aqui; nesse caso a aplicação deve preencher AResponseInfo antes de retornar. O evento só dispara quando SessionState é True.
procedure OnInvalidSession(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
AResponseInfo: TIdHTTPResponseInfo; var VContinueProcessing: Boolean;
const AInvalidSessionID: String);
begin
AResponseInfo.Redirect('/login');
VContinueProcessing := False;
end;