diff --git a/http/http_client.hpp b/http/http_client.hpp
index 75304f6..6a20453 100644
--- a/http/http_client.hpp
+++ b/http/http_client.hpp
@@ -29,9 +29,9 @@
 #include <boost/asio/ssl/context.hpp>
 #include <boost/asio/ssl/error.hpp>
 #include <boost/asio/steady_timer.hpp>
-#include <boost/beast/core/flat_buffer.hpp>
 #include <boost/beast/core/flat_static_buffer.hpp>
 #include <boost/beast/http/message.hpp>
+#include <boost/beast/http/message_generator.hpp>
 #include <boost/beast/http/parser.hpp>
 #include <boost/beast/http/read.hpp>
 #include <boost/beast/http/write.hpp>
@@ -279,19 +279,19 @@
         // Set a timeout on the operation
         timer.expires_after(std::chrono::seconds(30));
         timer.async_wait(std::bind_front(onTimeout, weak_from_this()));
-
+        boost::beast::http::message_generator messageGenerator(std::move(req));
         // Send the HTTP request to the remote host
         if (sslConn)
         {
-            boost::beast::http::async_write(
-                *sslConn, req,
+            boost::beast::async_write(
+                *sslConn, std::move(messageGenerator),
                 std::bind_front(&ConnectionInfo::afterWrite, this,
                                 shared_from_this()));
         }
         else
         {
-            boost::beast::http::async_write(
-                conn, req,
+            boost::beast::async_write(
+                conn, std::move(messageGenerator),
                 std::bind_front(&ConnectionInfo::afterWrite, this,
                                 shared_from_this()));
         }
diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index 83645ee..6ec8831 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -19,8 +19,10 @@
 #include <boost/asio/ssl/stream.hpp>
 #include <boost/asio/steady_timer.hpp>
 #include <boost/beast/_experimental/test/stream.hpp>
+#include <boost/beast/core/buffers_generator.hpp>
 #include <boost/beast/core/flat_static_buffer.hpp>
 #include <boost/beast/http/error.hpp>
+#include <boost/beast/http/message_generator.hpp>
 #include <boost/beast/http/parser.hpp>
 #include <boost/beast/http/read.hpp>
 #include <boost/beast/http/write.hpp>
@@ -549,9 +551,9 @@
         res.preparePayload();
 
         startDeadline();
-        serializer.emplace(res.response);
-        boost::beast::http::async_write(
-            adaptor, *serializer,
+        boost::beast::async_write(
+            adaptor,
+            boost::beast::http::message_generator(std::move(res.response)),
             std::bind_front(&self_type::afterDoWrite, this,
                             shared_from_this()));
     }
@@ -613,8 +615,6 @@
     // Making this a std::optional allows it to be efficiently destroyed and
     // re-created on Connection reset
     std::optional<boost::beast::http::request_parser<bmcweb::HttpBody>> parser;
-    std::optional<boost::beast::http::response_serializer<bmcweb::HttpBody>>
-        serializer;
 
     boost::beast::flat_static_buffer<8192> buffer;
 
