TsgcWebSocketHTTPServer › Events › OnSSLGetHandler

OnSSLGetHandler Evento

Viene generato prima della creazione dell'SSL handler, in modo da poter fornire un'istanza di handler personalizzata lato server.

Sintassi

property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdServerIOHandlerSSLBase) of object

Valore predefinito

—

Note

OnSSLGetHandler viene sollevato appena prima che il server costruisca il TLS IOHandler utilizzato per i binding SSL. Assegnare a aSSLHandler un'istanza di una propria classe ereditata da TIdServerIOHandlerSSLBase per sostituire il gestore predefinito, ad esempio per collegare un'implementazione specializzata di OpenSSL o SChannel. Lasciare aSSLHandler non assegnato per consentire al server di creare il gestore predefinito; in tal caso OnSSLAfterCreateHandler può comunque essere usato per modificare le proprietà dopo la creazione. Il componente assume la proprietà del gestore qui assegnato e lo libererà alla distruzione del server.

Quando IOHandlerOptions.IOHandlerType è iohIOCP o iohEPOLL, il gestore assegnato a aSSLHandler deve ereditare da TsgcIdServerIOHandlerOpenSSLIOCP (IOCP) o TsgcIdServerIOHandlerOpenSSLEPOLL (EPOLL), perché solo questi gestori possono essere pilotati dal motore IO guidato dagli eventi. Con qualsiasi altro gestore, il server solleva un'eccezione all'avvio. I valori di IOHandlerOptions, come thread, timeout e TCPKeepAlive, vengono applicati al gestore prima che si attivi OnSSLAfterCreateHandler, quindi i valori impostati in tale evento hanno la precedenza. Se è necessario modificare solo alcune proprietà del gestore predefinito, utilizzare OnSSLAfterCreateHandler invece di sostituire il gestore.

Esempio


procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
  var aSSLHandler: TIdServerIOHandlerSSLBase);
begin
  aSSLHandler := TCustomServerSSLHandler.Create(nil);
  // ... configure handler properties
end;

Torna agli Eventi