TsgcWebSocketProxyServer › Eventos › OnSSLALPNSelect
Se activa durante un handshake habilitado con ALPN con un cliente descendente 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 descendente anuncia Application-Layer Protocol Negotiation durante el handshake TLS, se lanza OnSSLALPNSelect para que el proxy pueda decidir qué protocolo negociar en el tramo descendente. El parámetro aProtocols es un TStringList con los nombres anunciados por el cliente (por ejemplo "h2", "http/1.1"); asigne aProtocol al que el servidor desee utilizar. Devolver una cadena vacía deja el comportamiento predeterminado en su lugar; en ese caso, la capa TLS elige el primer protocolo anunciado que el servidor soporta.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;