SessionService: Break out setupRedfishRoute

Previously, we had a pattern where we would call the HEAD handler for a
route in the GET handler.  Unfortunately, this leads to the error from
setupRedfishRoute to not be handled, which means that for these routes,
400 isn't processed properly.

This is same fix as https://gerrit.openbmc.org/c/openbmc/bmcweb/+/63526/

Tested: TODO will test the top commit.

Change-Id: I1ab51e397072cb0d60bddffcfbe8df71b56a4f42
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
diff --git a/redfish-core/lib/redfish_sessions.hpp b/redfish-core/lib/redfish_sessions.hpp
index 494f15c..c41b0df 100644
--- a/redfish-core/lib/redfish_sessions.hpp
+++ b/redfish-core/lib/redfish_sessions.hpp
@@ -265,7 +265,14 @@
                             const std::shared_ptr<bmcweb::AsyncResp>& asyncResp)
 
 {
-    handleSessionServiceHead(app, req, asyncResp);
+    if (!redfish::setUpRedfishRoute(app, req, asyncResp))
+    {
+        return;
+    }
+    asyncResp->res.addHeader(
+        boost::beast::http::field::link,
+        "</redfish/v1/JsonSchemas/SessionService/SessionService.json>; rel=describedby");
+
     asyncResp->res.jsonValue["@odata.type"] =
         "#SessionService.v1_0_2.SessionService";
     asyncResp->res.jsonValue["@odata.id"] = "/redfish/v1/SessionService/";