diff --git a/http/http_request.hpp b/http/http_request.hpp
index 7cefb7d..9cd4a0c 100644
--- a/http/http_request.hpp
+++ b/http/http_request.hpp
@@ -6,9 +6,9 @@
 #include <boost/asio/io_context.hpp>
 #include <boost/asio/ip/address.hpp>
 #include <boost/beast/http/message.hpp>
-#include <boost/beast/http/string_body.hpp>
 #include <boost/beast/websocket.hpp>
 #include <boost/url/url.hpp>
+#include <http_file_body.hpp>
 
 #include <string>
 #include <string_view>
@@ -19,7 +19,7 @@
 
 struct Request
 {
-    boost::beast::http::request<boost::beast::http::string_body> req;
+    boost::beast::http::request<bmcweb::FileBody> req;
 
   private:
     boost::urls::url urlBase{};
@@ -33,7 +33,7 @@
     std::shared_ptr<persistent_data::UserSession> session;
 
     std::string userRole{};
-    Request(boost::beast::http::request<boost::beast::http::string_body> reqIn,
+    Request(boost::beast::http::request<bmcweb::FileBody> reqIn,
             std::error_code& ec) :
         req(std::move(reqIn))
     {
@@ -65,6 +65,17 @@
         req.insert(key, value);
     }
 
+    void clear()
+    {
+        req.clear();
+        urlBase.clear();
+        isSecure = false;
+        ioService = nullptr;
+        ipAddress = boost::asio::ip::address();
+        session = nullptr;
+        userRole = "";
+    }
+
     boost::beast::http::verb method() const
     {
         return req.method();
@@ -102,7 +113,7 @@
 
     const std::string& body() const
     {
-        return req.body();
+        return req.body().str();
     }
 
     bool target(std::string_view target)
