* Use beast exclusive valgrind feature.
* Make the library modular usable.
* Switch to library requirements instead of source. As source puts extra source in install targets.
* Add Beast root dir for includes. As some tests refer to files relative to that.
* Replace relative docca refs with project based.
* Avoid mtuliple openssl configurations.
* Always declare openssl. If it's empty and duplicate it will be ignored.
* Add missing import-search for cconfig/predef checks.
* Add requires-b2 check to top-level build file.
* Bump B2 require to 5.2
* Update copyright dates.
* Move inter-lib dependencies to a project variable and into the build targets.
* Update build deps.
* Update build deps.
* The http/client/body example uses the source header from json instead of the linked library.
Merges PR#2414
I used this example to start building my WebSocket application, however, I noticed that upon removing the echoing in the on_read method, the server repeatedly throws errors without exiting the method.
You can recreate this problem by replacing the async_write with do_write and cause any error (i.e. client reloads the page).
Adding a return statement here would make debugging for future changes much easier and it wouldn't harm the existing echoing in any way.
Original commit message
fixed an error in websocket_client_async_ssl
close#2315
in this example host_ string should be updated after SSL_set_tlsext_host_name just like the synced version, otherwise this would cause a handshake error
API Changes:
`string_param`, which was previously the argument type when setting field values
has been replaced by `string_view`. Because of this, it is no longer possible to
set message field values directly as integrals.
Users are required to convert numeric arguments to a string type prior to calling
`fields::set` et. al.
Beast provides the non-allocating `to_static_string()` function for this purpose.
To set Content-Length field manually, call `message::content_length`.
fixes#1956