TsgcWebSocketHTTPServer › Zdarzenia › OnSSLALPNSelect
Wywoływane podczas uzgadniania z włączonym ALPN, aby aplikacja mogła wybrać protokół do negocjacji.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Gdy klient anonsuje Application-Layer Protocol Negotiation podczas uzgadniania TLS, zdarzenie OnSSLALPNSelect jest wywoływane, umożliwiając serwerowi wybór protokołu do negocjacji. Parametr aProtocols to TStringList z nazwami anonsowanymi przez klienta (np. „h2", „http/1.1"); przypisz do aProtocol ten, który serwer chce wybrać. Gdy HTTP2Options.Enabled ma wartość True, komponent domyślnie zwraca „h2", więc HTTP/2 jest negocjowane transparentnie; można tu zmienić wybór, jeśli serwer chce wymusić HTTP/1.1 lub niestandardowy protokół. Zwrócenie pustego ciągu pozostawia domyślne zachowanie.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;