TsgcWebSocketProxyServer › Eventos › OnHandshake
Disparado depois que o handshake com um cliente downstream é avaliado e antes de a resposta ser enviada.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake é gerado imediatamente após a requisição de upgrade HTTP de um cliente downstream ter sido analisada e validada, e antes de a resposta do handshake ser escrita de volta. Os cabeçalhos de entrada enviados pelo cliente estão disponíveis por meio da propriedade HeadersRequest da conexão (convertida para TsgcWSConnectionServer). O parâmetro Headers é uma TStringList contendo as linhas de resposta que serão retornadas; adicione linhas personalizadas (por exemplo, um cabeçalho específico do fornecedor) para incluí-las na resposta HTTP. Os cabeçalhos WebSocket padrão (Upgrade, Connection, Sec-WebSocket-Accept...) já estão preenchidos e não devem ser duplicados. Este evento aplica-se somente à perna WebSocket downstream; o proxy não realiza um handshake WebSocket contra o servidor TCP upstream.
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnectionServer(Connection).HeadersRequest.Text);
end;