TsgcWebSocketHTTPServer › Événements › OnSSLALPNSelect
Déclenché lors d'un handshake ALPN activé 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 annonce la négociation de protocole de couche application (ALPN) lors du handshake TLS, OnSSLALPNSelect est déclenché afin que le serveur puisse décider quel protocole négocier. Le paramètre aProtocols est un TStringList contenant les noms annoncés par le client (par exemple « h2 », « http/1.1 ») ; assignez aProtocol à celui que le serveur souhaite utiliser. Lorsque HTTP2Options.Enabled est True, le composant retourne « h2 » par défaut afin que HTTP/2 soit négocié de manière transparente ; remplacez la sélection ici si le serveur souhaite forcer HTTP/1.1 ou un protocole personnalisé. Retourner une chaîne vide laisse le comportement par défaut en place.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;