diff --git a/include/async_resp.hpp b/include/async_resp.hpp
index 7306017..8e9584c 100644
--- a/include/async_resp.hpp
+++ b/include/async_resp.hpp
@@ -15,17 +15,28 @@
 class AsyncResp
 {
   public:
-    AsyncResp() = default;
+    AsyncResp(crow::Response& response) : res(response)
+    {}
+
+    AsyncResp(crow::Response& response, std::function<void()>&& function) :
+        res(response), func(std::move(function))
+    {}
 
     AsyncResp(const AsyncResp&) = delete;
     AsyncResp(AsyncResp&&) = delete;
 
     ~AsyncResp()
     {
+        if (func && res.result() == boost::beast::http::status::ok)
+        {
+            func();
+        }
+
         res.end();
     }
 
-    crow::Response res;
+    crow::Response& res;
+    std::function<void()> func;
 };
 
 } // namespace bmcweb
diff --git a/include/openbmc_dbus_rest.hpp b/include/openbmc_dbus_rest.hpp
index 0096e86..3188188 100644
--- a/include/openbmc_dbus_rest.hpp
+++ b/include/openbmc_dbus_rest.hpp
@@ -2233,7 +2233,9 @@
             [](const crow::Request&,
                const std::shared_ptr<bmcweb::AsyncResp>& asyncResp,
                const std::string& connection) {
-                introspectObjects(connection, "/", asyncResp);
+                introspectObjects(
+                    connection, "/",
+                    std::make_shared<bmcweb::AsyncResp>(asyncResp->res));
             });
 
     BMCWEB_ROUTE(app, "/bus/system/<str>/<path>")
