summaryrefslogtreecommitdiff
path: root/http
diff options
context:
space:
mode:
authorEd Tanous <edtanous@google.com>2022-01-07 20:18:40 +0300
committerEd Tanous <ed@tanous.net>2022-01-12 22:00:37 +0300
commitecd6a3a20ab128ae9d3e356d6250695800dc13be (patch)
tree658b040f57c6a4e3ee31b567606551f598a7b540 /http
parent543f44000a992870ff76e76888dd589a3a31ed4e (diff)
downloadbmcweb-ecd6a3a20ab128ae9d3e356d6250695800dc13be.tar.xz
Enable cppcoreguidelines-special-member-functions checks
Part of enforcing cpp core guidelines involves explicitly including all constructors required on a non-trivial class. We were missing quite a few. In all cases, the copy/move/and operator= methods are simply deleted. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ie8d6e8bf2bc311fa21a9ae48b0d61ee5c1940999
Diffstat (limited to 'http')
-rw-r--r--http/app.hpp5
-rw-r--r--http/http_connection.hpp5
-rw-r--r--http/http_request.hpp3
-rw-r--r--http/http_response.hpp4
-rw-r--r--http/logging.hpp5
-rw-r--r--http/routing.hpp5
-rw-r--r--http/websocket.hpp5
7 files changed, 32 insertions, 0 deletions
diff --git a/http/app.hpp b/http/app.hpp
index b4ccd95e6a..8dcec48e93 100644
--- a/http/app.hpp
+++ b/http/app.hpp
@@ -44,6 +44,11 @@ class App
this->stop();
}
+ App(const App&) = delete;
+ App(App&&) = delete;
+ App& operator=(const App&) = delete;
+ App& operator=(const App&&) = delete;
+
template <typename Adaptor>
void handleUpgrade(const Request& req, Response& res, Adaptor&& adaptor)
{
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index 6de2bf7a0a..77886c5da1 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -81,6 +81,11 @@ class Connection :
<< connectionCount;
}
+ Connection(const Connection&) = delete;
+ Connection(Connection&&) = delete;
+ Connection& operator=(const Connection&) = delete;
+ Connection& operator=(Connection&&) = delete;
+
void prepareMutualTls()
{
std::error_code error;
diff --git a/http/http_request.hpp b/http/http_request.hpp
index 4567314787..be1c2a2404 100644
--- a/http/http_request.hpp
+++ b/http/http_request.hpp
@@ -46,7 +46,10 @@ struct Request
}
Request(const Request&) = delete;
+ Request(const Request&&) = delete;
Request& operator=(const Request&) = delete;
+ Request& operator=(const Request&&) = delete;
+ ~Request() = default;
boost::beast::http::verb method() const
{
diff --git a/http/http_response.hpp b/http/http_response.hpp
index a983d4ae51..08b76f2478 100644
--- a/http/http_response.hpp
+++ b/http/http_response.hpp
@@ -39,6 +39,10 @@ struct Response
Response() : stringResponse(response_type{})
{}
+ ~Response() = default;
+
+ Response(const Response&) = delete;
+ Response(Response&&) = delete;
Response& operator=(const Response& r) = delete;
Response& operator=(Response&& r) noexcept
diff --git a/http/logging.hpp b/http/logging.hpp
index 0121729542..e2bfdb1365 100644
--- a/http/logging.hpp
+++ b/http/logging.hpp
@@ -62,6 +62,11 @@ class Logger
}
}
+ Logger(const Logger&) = delete;
+ Logger(Logger&&) = delete;
+ Logger& operator=(const Logger&) = delete;
+ Logger& operator=(const Logger&&) = delete;
+
//
template <typename T>
Logger& operator<<([[maybe_unused]] T const& value)
diff --git a/http/routing.hpp b/http/routing.hpp
index 06f2a091ba..a7c0ced992 100644
--- a/http/routing.hpp
+++ b/http/routing.hpp
@@ -34,6 +34,11 @@ class BaseRule
virtual ~BaseRule() = default;
+ BaseRule(const BaseRule&) = delete;
+ BaseRule(BaseRule&&) = delete;
+ BaseRule& operator=(const BaseRule&) = delete;
+ BaseRule& operator=(const BaseRule&&) = delete;
+
virtual void validate() = 0;
std::unique_ptr<BaseRule> upgrade()
{
diff --git a/http/websocket.hpp b/http/websocket.hpp
index 30a9b9f4b5..74bce581d2 100644
--- a/http/websocket.hpp
+++ b/http/websocket.hpp
@@ -29,6 +29,11 @@ struct Connection : std::enable_shared_from_this<Connection>
req(reqIn.req), userName{std::move(user)}, userdataPtr(nullptr)
{}
+ Connection(const Connection&) = delete;
+ Connection(Connection&&) = delete;
+ Connection& operator=(const Connection&) = delete;
+ Connection& operator=(const Connection&&) = delete;
+
virtual void sendBinary(const std::string_view msg) = 0;
virtual void sendBinary(std::string&& msg) = 0;
virtual void sendText(const std::string_view msg) = 0;