From ad12913a9922fee652e4845362e58a32182e8b8d Mon Sep 17 00:00:00 2001 From: "Tim.Ebbeke" Date: Wed, 4 Dec 2024 16:35:23 +0100 Subject: [PATCH] Fixed code to work with newer boost beast. --- include/roar/beast/forward.hpp | 30 ------------------- .../directory_server/directory_server.hpp | 2 +- include/roar/error.hpp | 2 -- include/roar/request.hpp | 15 ++++++---- include/roar/server.hpp | 1 - include/roar/session/factory.hpp | 1 - include/roar/session/session.hpp | 1 - test/test_http_server.hpp | 2 +- 8 files changed, 12 insertions(+), 42 deletions(-) delete mode 100644 include/roar/beast/forward.hpp diff --git a/include/roar/beast/forward.hpp b/include/roar/beast/forward.hpp deleted file mode 100644 index 17fa88ab..00000000 --- a/include/roar/beast/forward.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -namespace boost::asio -{ - class any_io_executor; - class execution_context; - -#if !defined(BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL) -# define BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL - template - class basic_stream_socket; -#endif // BOOST_ASIO_BASIC_STREAM_SOCKET_FWD_DECL - - namespace ip - { - class tcp; - template - class basic_endpoint; - } - namespace ssl - { - class context; - } -} // namespace boost::asio::ip - -namespace boost::beast -{ - template - class basic_flat_buffer; -} \ No newline at end of file diff --git a/include/roar/directory_server/directory_server.hpp b/include/roar/directory_server/directory_server.hpp index ae14b00a..30d425d3 100644 --- a/include/roar/directory_server/directory_server.hpp +++ b/include/roar/directory_server/directory_server.hpp @@ -481,7 +481,7 @@ namespace Roar::Detail else { RangeFileBody::value_type body; - boost::beast::error_code ec; + std::error_code ec; body.open(fileAndStatus.file.string().c_str(), std::ios_base::in, ec); if (ec) return session.sendStandardResponse( diff --git a/include/roar/error.hpp b/include/roar/error.hpp index edcaa300..0849c224 100644 --- a/include/roar/error.hpp +++ b/include/roar/error.hpp @@ -1,7 +1,5 @@ #pragma once -#include - #include #include diff --git a/include/roar/request.hpp b/include/roar/request.hpp index 7a2f2636..2a790025 100644 --- a/include/roar/request.hpp +++ b/include/roar/request.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -95,12 +96,13 @@ namespace Roar void target(std::string_view target) { - static_cast(this)->target(target); + static_cast(this)->target(boost::string_view{target.data(), target.size()}); parseTarget(); } std::string_view target() const { - return static_cast(this)->target(); + auto target = static_cast(this)->target(); + return std::string_view{target.data(), target.size()}; } Request& host(std::string&& host) @@ -345,7 +347,8 @@ namespace Roar auto spacePos = iter->value().find(' '); if (spacePos == std::string::npos) return std::nullopt; - return authorizationSchemeFromString(iter->value().substr(0, spacePos)); + auto boostView = iter->value().substr(0, spacePos); + return authorizationSchemeFromString(std::string_view{boostView.data(), boostView.size()}); } /** @@ -362,7 +365,8 @@ namespace Roar return std::nullopt; if (value.substr(0, spacePos) != "Basic") return std::nullopt; - return BasicAuth::fromBase64(value.substr(spacePos + 1, value.size() - spacePos - 1)); + auto boostView = value.substr(spacePos + 1, value.size() - spacePos - 1); + return BasicAuth::fromBase64(std::string_view{boostView.data(), boostView.size()}); } Request& basicAuth(BasicAuth const& auth) @@ -385,7 +389,8 @@ namespace Roar return std::nullopt; if (value.substr(0, spacePos) != "Digest") return std::nullopt; - return DigestAuth::fromParameters(value.substr(spacePos + 1)); + auto boostView = value.substr(spacePos + 1); + return DigestAuth::fromParameters(std::string_view{boostView.data(), boostView.size()}); } Request& digestAuth(DigestAuth const& auth) diff --git a/include/roar/server.hpp b/include/roar/server.hpp index 7176ef8a..44642dfb 100644 --- a/include/roar/server.hpp +++ b/include/roar/server.hpp @@ -1,7 +1,6 @@ #pragma once #include -#include #include #include #include diff --git a/include/roar/session/factory.hpp b/include/roar/session/factory.hpp index 151b6330..96444e85 100644 --- a/include/roar/session/factory.hpp +++ b/include/roar/session/factory.hpp @@ -1,6 +1,5 @@ #pragma once -#include #include #include #include diff --git a/include/roar/session/session.hpp b/include/roar/session/session.hpp index eea89ced..b4fb6b86 100644 --- a/include/roar/session/session.hpp +++ b/include/roar/session/session.hpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include diff --git a/test/test_http_server.hpp b/test/test_http_server.hpp index 75d69951..0f95392d 100644 --- a/test/test_http_server.hpp +++ b/test/test_http_server.hpp @@ -63,7 +63,7 @@ namespace Roar::Tests return session.sendStandardResponse(status::bad_request, "Cannot parse ranges."); RangeFileBody::value_type body; - boost::beast::error_code ec; + std::error_code ec; body.open(tempDir_.path() / "index.txt", std::ios_base::in, ec); if (ec) return session.sendStandardResponse(status::internal_server_error, "Cannot open file for reading.");