New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Beast to 1.0.0-b13 #1847
Conversation
Writer requires a call to Writer::init to call content_length. This changes prepare to correctly call init. A consequences is that prepare can now throw unexpectedly for user-defined writers that can fail their initialization.
This fixes a problem where a call to read() is ambiguous because the argument list contains objects from both boost::asio and beast::http. Users invoking read may need to do so fully qualified, by writing: beast::http::read(...);
The example HTTP server is updated to provide the correct MIME-type. It no longer uses the now-deprecated http::stream class, since that implementation does not provide flow control. A new example async_write function is provided in the asynchronous server for managing the lifetime of a message sent asynchronously. The logging is thread-safe, and a bug causing connections to malfunction is fixed.
This solves a problem where clang and gcc locate the deleted version of teardown and async_teardown instead of the overloaded version. It requires overloads to add `teardown_tag` into the signature so that the rules for argument dependent lookup can find the right function. Improve documentation of teardown requirements The documentation is updated to clearly explain the need for including <beast/websocket/ssl.hpp> to use SSL streams with WebSocket. The default implementations of teardown and async_teardown now use static_assert to alert the user of improper usage, with comments providing guidance for resolving the error.
in addition to passing ${CMAKE_THREAD_LIBS_INIT} to the linker, this interface library will also add -pthread to the compile options when supported Signed-off-by: Casey Bodley <cbodley@redhat.com>
basic_headers no longer combines fields with the same name by appending a comma and concatenating the two values together. This was breaking certain header fields which expect each value to be distinct, such as the "Set-Cookie" header. Now the container behaves more like a multi set with respect to insertion of multiple values with the same field name. Additional member functions are provided to provide extra functionality.
This macro is used in the unit test framework to assist in reporting the file and line number of test failures.
This fixes up support for building both 32 and 64 bit targets, especially on Windows.
The 'resource' parameter in the call to stream::handshake is used when building the HTTP request to perform the upgrade.
Also fixes a bug where suite::log was incorrectly flushed.
New overloads of suite::expect take the file and line number as individual parameters, cleaning up the file name output by showing only the filename part (to not leak the full path, which might contain sensitive information). A new macro BEAST_EXPECTS allows an additional reason string as well as reporting the file and line. Typical usage: ``` error_code ec; ... if(! BEAST_EXPECTS(! ec, ec.message())) return; ```
These directories are removed, to make it easier for developers to delete the entire directory contents when rebuilding CMake targets after a configuration change.
* non-Windows dstream is a simple reference alias * dstream constructor takes a target ostream argument * dstream inherits the unitbuf setting of the target stream
Current coverage is 64.41% (diff: 100%)@@ develop #1847 diff @@
==========================================
Files 704 704
Lines 50747 50747
Methods 0 0
Messages 0 0
Branches 0 0
==========================================
- Hits 32696 32691 -5
- Misses 18051 18056 +5
Partials 0 0
|
I tested these changes on Linux. The console output for the unit tests is fine. I also checked the cmake builds for both beast and rippled and reviewed the changes in However, these changes effect windows more than linux. I'd count this as 1/2 a review. |
I ran Test.py on OSX and this all passes. The unit test output looks normal to me. Also reviewed the CMake changes. 👍 |
This changes the behavior of
beast::unit_test::dstream
on Windows, and could affect console output on Linux and Mac so please check that. Otherwise, it brings the Beast subtree up to version 1.0.0-b13, which has already passed reviews and tests (see https://github.com/vinniefalco/Beast/) There should be no functional changes. Aside from the subtree, all the rippled code changes are in the top 2 commits.