TsgcHTTPServer › Gebeurtenissen › OnSSLGetHandler

OnSSLGetHandler Gebeurtenis

Wordt geactiveerd voordat de SSL-handler wordt aangemaakt, zodat een aangepaste serverhandler-instantie kan worden geleverd.

Syntaxis

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

Standaardwaarde

—

Opmerkingen

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.

Voorbeeld


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

Terug naar Events