TsgcWebSocketHTTPServer › Events › OnSSLALPNSelect
Se activa durante un handshake con ALPN habilitado para que la aplicación pueda elegir qué protocolo negociar.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Cuando un cliente anuncia la Negociación de Protocolo de Capa de Aplicación durante el protocolo de enlace TLS, se genera OnSSLALPNSelect para que el servidor pueda decidir qué protocolo negociar. El parámetro aProtocols es un TStringList con los nombres anunciados por el cliente (por ejemplo "h2", "http/1.1"); asigne a aProtocol el que el servidor desea usar. Cuando HTTP2Options.Enabled es True, el componente devuelve "h2" de forma predeterminada para que se negocie HTTP/2 de manera transparente; anule la selección aquí si el servidor desea forzar HTTP/1.1 o un protocolo personalizado. Devolver una cadena vacía mantiene el comportamiento predeterminado.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;