diff --git a/http/http_request.hpp b/http/http_request.hpp
index bfbe2e3..c2778ca 100644
--- a/http/http_request.hpp
+++ b/http/http_request.hpp
@@ -32,6 +32,8 @@
   private:
     boost::urls::url urlBase;
 
+    Request(const Request& other) = default;
+
   public:
     boost::asio::ip::address ipAddress;
 
@@ -51,13 +53,17 @@
 
     Request() = default;
 
-    Request(const Request& other) = default;
     Request(Request&& other) = default;
 
-    Request& operator=(const Request&) = default;
+    Request& operator=(const Request&) = delete;
     Request& operator=(Request&&) = default;
     ~Request() = default;
 
+    Request copy() const
+    {
+        return {*this};
+    }
+
     void addHeader(std::string_view key, std::string_view value)
     {
         req.insert(key, value);
diff --git a/http/server_sent_event_impl.hpp b/http/server_sent_event_impl.hpp
index fe9ed2e..5da3a8e 100644
--- a/http/server_sent_event_impl.hpp
+++ b/http/server_sent_event_impl.hpp
@@ -70,7 +70,7 @@
         boost::beast::http::async_write_header(
             adaptor, serial,
             std::bind_front(&ConnectionImpl::sendSSEHeaderCallback, this,
-                            shared_from_this(), req));
+                            shared_from_this(), req.copy()));
     }
 
     void close(const std::string_view msg) override
