Add preliminary support for Boost 1.74

This commit is contained in:
seelabs
2020-07-22 22:09:44 -04:00
committed by Nik Bougalis
parent 8cf542abb0
commit 80860fa8f5
5 changed files with 21 additions and 10 deletions

View File

@@ -128,6 +128,7 @@ target_include_directories (xrpl_core
target_compile_definitions(xrpl_core
PUBLIC
BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT
HAS_UNCAUGHT_EXCEPTIONS=1)
target_compile_options (xrpl_core
PUBLIC

View File

@@ -360,7 +360,11 @@ OverlayImpl::makeRedirectResponse(
msg.version(request.version());
msg.result(boost::beast::http::status::service_unavailable);
msg.insert("Server", BuildInfo::getFullVersionString());
msg.insert("Remote-Address", remote_address);
{
std::ostringstream ostr;
ostr << remote_address;
msg.insert("Remote-Address", ostr.str());
}
msg.insert("Content-Type", "application/json");
msg.insert(boost::beast::http::field::connection, "close");
msg.body() = Json::objectValue;

View File

@@ -198,13 +198,14 @@ BaseWSPeer<Handler, Impl>::run()
impl().ws_.control_callback(control_callback_);
start_timer();
close_on_timer_ = true;
impl().ws_.async_accept_ex(
request_,
[](auto& res) {
impl().ws_.set_option(
boost::beast::websocket::stream_base::decorator([](auto& res) {
res.set(
boost::beast::http::field::server,
BuildInfo::getFullVersionString());
},
}));
impl().ws_.async_accept(
request_,
bind_executor(
strand_,
std::bind(

View File

@@ -107,7 +107,11 @@ public:
req.target("/");
req.version(11);
req.insert("Content-Type", "application/json; charset=UTF-8");
req.insert("Host", ep_);
{
std::ostringstream ostr;
ostr << ep_;
req.insert("Host", ostr.str());
}
{
Json::Value jr;
jr[jss::method] = cmd;

View File

@@ -141,13 +141,14 @@ public:
{
auto const ep = getEndpoint(cfg, v2);
stream_.connect(ep);
ws_.handshake_ex(
ep.address().to_string() + ":" + std::to_string(ep.port()),
"/",
ws_.set_option(boost::beast::websocket::stream_base::decorator(
[&](boost::beast::websocket::request_type& req) {
for (auto const& h : headers)
req.set(h.first, h.second);
});
}));
ws_.handshake(
ep.address().to_string() + ":" + std::to_string(ep.port()),
"/");
ws_.async_read(
rb_,
strand_.wrap(std::bind(