TsgcHTTPServer › Olaylar › OnSSLGetHandler
SSL işleyici oluşturulmadan önce tetiklenir, böylece özel bir sunucu tarafı işleyici örneği sağlanabilir.
property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdServerIOHandlerSSLBase) of object
—
OnSSLGetHandler, sunucu SSL bağlamaları için kullanılan TLS IOHandler'ı oluşturmadan hemen önce tetiklenir. Varsayılan işleyiciyi değiştirmek için, örneğin özelleştirilmiş bir OpenSSL veya SChannel uygulamasını takmak için, aSSLHandler'ı TIdServerIOHandlerSSLBase'den türetilmiş kendi sınıfınızın bir örneğine atayın. Sunucunun varsayılan işleyiciyi oluşturmasına izin vermek için aSSLHandler'ı atanmamış bırakın; bu durumda OnSSLAfterCreateHandler, oluşturmadan sonra özellikleri ayarlamak için yine de kullanılabilir. Bileşen, burada atanan işleyicinin sahipliğini üstlenir ve sunucu yok edildiğinde onu serbest bırakır.
IOHandlerOptions.IOHandlerType iohIOCP veya iohEPOLL olduğunda, aSSLHandler'a atanan işleyici TsgcIdServerIOHandlerOpenSSLIOCP'den (IOCP) veya TsgcIdServerIOHandlerOpenSSLEPOLL'dan (EPOLL) türetilmiş olmalıdır, çünkü yalnızca bu işleyiciler olay güdümlü I/O motoru tarafından yönetilebilir. Başka herhangi bir işleyici kullanıldığında, sunucu başlatılırken bir istisna oluşturur. İş parçacıkları, zaman aşımları ve TCPKeepAlive gibi IOHandlerOptions değerleri, OnSSLAfterCreateHandler tetiklenmeden önce işleyiciye uygulanır; bu nedenle bu olayda ayarlanan değerler önceliklidir. Varsayılan işleyicinin yalnızca birkaç özelliğini değiştirmeniz yeterliyse, işleyiciyi değiştirmek yerine OnSSLAfterCreateHandler kullanın.
procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
var aSSLHandler: TIdServerIOHandlerSSLBase);
begin
aSSLHandler := TCustomServerSSLHandler.Create(nil);
// ... işleyici özelliklerini yapılandırın
end;