Compute the Sec-WebSocket-Accept value per RFC 6455
| 40 | |
| 41 | /// Compute the Sec-WebSocket-Accept value per RFC 6455 |
| 42 | String 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 |
no test coverage detected