TsgcWebSocketProxyServer › Événements › OnSSLALPNSelect
Se déclenche lors d'une négociation ALPN avec un client en aval afin que l'application puisse choisir le protocole à négocier.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Lorsqu'un client en aval annonce la négociation du protocole de couche application (ALPN) pendant la poignée de main TLS, OnSSLALPNSelect est déclenché afin que le proxy puisse décider quel protocole négocier sur le tronçon en aval. Le paramètre aProtocols est une TStringList avec les noms annoncés par le client (par exemple "h2", "http/1.1") ; assignez aProtocol à celui que le serveur souhaite utiliser. Retourner une chaîne vide laisse le comportement par défaut en place, auquel cas la couche TLS choisit le premier protocole annoncé que le serveur prend en charge.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;