TsgcWebSocketServer › Eventos › OnSSLALPNSelect
Disparado durante um handshake com ALPN habilitado, para que a aplicação possa escolher qual protocolo negociar.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Quando um cliente anuncia Application-Layer Protocol Negotiation durante o handshake TLS, OnSSLALPNSelect é gerado para que o servidor possa decidir qual protocolo negociar. O parâmetro aProtocols é uma TStringList com os nomes anunciados pelo cliente (por exemplo, "h2", "http/1.1"); atribua aProtocol àquele que o servidor deseja usar. Retornar uma string vazia mantém o comportamento padrão, caso em que a camada TLS escolhe o primeiro protocolo anunciado que o servidor suporta.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;