TsgcWebSocketHTTPServer › Events › OnSSLALPNSelect
Geactiveerd tijdens een ALPN-ingeschakelde handshake zodat de toepassing kan kiezen welk protocol te onderhandelen.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Wanneer een client Application-Layer Protocol Negotiation aankondigt tijdens de TLS-handshake, wordt OnSSLALPNSelect gegenereerd zodat de server kan beslissen welk protocol er onderhandeld wordt. De parameter aProtocols is een TStringList met de namen die door de client zijn aangekondigd (bijvoorbeeld "h2", "http/1.1"); wijs aProtocol toe aan het protocol dat de server wil gebruiken. Wanneer HTTP2Options.Enabled True is, retourneert de component standaard "h2" zodat HTTP/2 transparant wordt onderhandeld; overschrijf de selectie hier als de server HTTP/1.1 of een aangepast protocol wil forceren. Een lege tekenreeks retourneren laat het standaardgedrag in stand.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;