TsgcWebSocketHTTPServerEventos › OnSSLALPNSelect

OnSSLALPNSelect Event

Disparado durante um handshake com ALPN habilitado, para que a aplicação possa escolher qual protocolo negociar.

Sintaxe

property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object

Valor Padrão

Observações

Quando um cliente anuncia Application-Layer Protocol Negotiation durante o handshake TLS, OnSSLALPNSelect é gerado para que o servidor possa decidir qual protocolo negociar. O parâmetro aProtocols é uma TStringList com os nomes anunciados pelo cliente (por exemplo "h2", "http/1.1"); atribua a aProtocol aquele que o servidor deseja utilizar. Quando HTTP2Options.Enabled é True, o componente retorna "h2" por padrão para que o HTTP/2 seja negociado de forma transparente; sobrescreva a seleção aqui se o servidor precisar forçar HTTP/1.1 ou um protocolo personalizado. Retornar uma string vazia mantém o comportamento padrão em vigor.

Exemplo


procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
  var aProtocol: String);
begin
  if aProtocols.IndexOf('h2') >= 0 then
    aProtocol := 'h2'
  else
    aProtocol := 'http/1.1';
end;

Voltar para Eventos