On Thu, Jul 6, 2017 at 12:25 PM, Vadim Zeitlin via Boost
WebSocket part is very useful, I think it's the best current implementation of the WebSocket protocol for C++.
Thanks! Finally some love for the WebSockets!
I don't have any use for the HTTP part of myself
Ah, but don't you see? A bit of background: A WebSocket session is established when the client sends an HTTP Upgade request, and the server sends back an appropriate HTTP Upgrade response ("101 Switching Protocols") beast::websocket::stream gives you full control over the WebSocket HTTP handshake used at the start of the session. You can adjust header fields in either the client or server roles. On the server you can read the HTTP request yourself and dispatch it to your web server if its not a websocket upgrade, else hand the beast::http::request object to the beast::websocket::stream to initiate the websocket session. tl;dr Users get the full power of Beast's HTTP message facilities to get control over the handshake. If you want to do Basic Authentication, request subprotocols, pass application specific data or credentials, verify domains, interact with proxy fields, filter messages, etc... this is all possible using the uniform HTTP interfaces. WebSocket handshake customizations are documented here: http://vinniefalco.github.io/beast/beast/using_websocket/handshaking_clients... http://vinniefalco.github.io/beast/beast/using_websocket/handshaking_servers... Thanks