* 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.
Recent update zlib-1.2.11->1.2.12 included included a number of source
files in the Bjam/CMake changes that were previously excluded.
This leads to a bunch of C99 violation warnings (implicit function
declarations).
This commit excludes the culprits again, but leaves them actively
commented-out so the same mistake is less likely to happen by accident
in the future.
- Don't set the global link settings (`<link>`) to avoid dependency
ordering issues in the future.
- Allow the user to decide on the link settings for dependencies
(filesystem/coroutine).
- Make dependencies in examples explicit.
- Remove dependency of examples on Boost.Filesystem (was not used there).
- Deduplicate build settings.
- Speed up test compilation by avoiding rebuilding of main test file.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
close#1524
It is now possible to compile examples without OpenSSL. Examples that
do require OpenSSL will be omitted.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
When BOOST_BEAST_TESTS is not defined, violations of
buffers_cat preconditions will assert instead of throwing
exceptions. This reduces the size of the emitted code
and improves performance.
fix#1293
* Build ASIO's non-template entities into a static library
to reduce the compiler's memory usage during test compilation.
* Retry as single-threaded build after the first build failure.
fix#884
* BodyReader and BodyWriter constructors now require the header and
body elements to be passed as distinct header and value_type objects.
This enables the composition of body types, for example:
http::response<compressed_body<http::string_body>> res;
* The previous single-argument constructors are deprecated and will be
removed in a subsequent version.
Actions Required:
* Change user-defined instances of BodyReader or BodyWriter constructor
signatures to the two-argument form.
OR
* Define the macro BOOST_BEAST_ALLOW_DEPRECATED in the project (which
will accept both the new and the deprecated signatures).
* detail::read_size_helper is removed
* public function read_size helps determine the optimum
size for calls to a DynamicBuffer's prepare function.
* special case for Asio types which don't conform to
the concept but have their own helper function.
fix#398
A new enum status is added for the status code.
The function obsolete_reason returns default reason phrasing.
If a response has an empty reason, the serializer will
automatically insert the default reason phrase for the
status code.
fix#397
method enum class is added to represent all known request methods.
Functions are provided to convert from strings to and from the method
enumeration.
The fields container is modified to also work with the enum.