TsgcWebSocketHTTPServer › Gebeurtenissen › OnSSLGetHandler
Wordt geactiveerd voordat de SSL-handler wordt aangemaakt, zodat een aangepaste serverhandler-instantie kan worden geleverd.
property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdServerIOHandlerSSLBase) of object
—
OnSSLGetHandler wordt geactiveerd vlak voordat de server de TLS IOHandler aanmaakt voor SSL-bindingen. Wijs aSSLHandler toe aan een exemplaar van uw eigen klasse die erft van TIdServerIOHandlerSSLBase om de standaard handler te vervangen, bijvoorbeeld om een gespecialiseerde OpenSSL- of SChannel-implementatie in te pluggen. Laat aSSLHandler ontoegewezen om de server de standaard handler te laten aanmaken; in dat geval kan OnSSLAfterCreateHandler nog steeds worden gebruikt om eigenschappen na aanmaak aan te passen. Het component neemt eigenaarschap over de hier toegewezen handler en geeft deze vrij wanneer de server wordt vernietigd.
Wanneer IOHandlerOptions.IOHandlerType iohIOCP of iohEPOLL is, moet de handler die aan aSSLHandler wordt toegewezen erven van TsgcIdServerIOHandlerOpenSSLIOCP (IOCP) of TsgcIdServerIOHandlerOpenSSLEPOLL (EPOLL), omdat alleen deze handlers kunnen worden aangestuurd door de gebeurtenisgestuurde IO-engine. Met elke andere handler genereert de server een uitzondering wanneer deze wordt gestart. De IOHandlerOptions-waarden, zoals threads, timeouts en TCPKeepAlive, worden op de handler toegepast voordat OnSSLAfterCreateHandler wordt geactiveerd, zodat waarden die in die gebeurtenis worden ingesteld voorrang krijgen. Als u slechts enkele eigenschappen van de standaard handler wilt wijzigen, gebruik dan OnSSLAfterCreateHandler in plaats van de handler te vervangen.
procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
var aSSLHandler: TIdServerIOHandlerSSLBase);
begin
aSSLHandler := TCustomServerSSLHandler.Create(nil);
// ... configure handler properties
end;