MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / computeWebSocketAccept

Function computeWebSocketAccept

src/Server/WebTerminalRequestHandler.cpp:42–49  ·  view source on GitHub ↗

Compute the Sec-WebSocket-Accept value per RFC 6455

Source from the content-addressed store, hash-verified

40
41/// Compute the Sec-WebSocket-Accept value per RFC 6455
42String computeWebSocketAccept(const String & key)
43{
44 const String magic = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
45 Poco::SHA1Engine sha1;
46 sha1.update(key + magic);
47 auto digest = sha1.digest();
48 return base64Encode(String(reinterpret_cast<const char *>(digest.data()), digest.size()));
49}
50
51/// Validate that Sec-WebSocket-Key is a base64-encoded 16-byte nonce per RFC 6455.
52/// `base64Decode` (via `Poco::Base64Decoder`) throws `DataFormatException` on

Callers 1

handleWebSocketMethod · 0.85

Calls 5

base64EncodeFunction · 0.85
StringClass · 0.50
updateMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected