Implement feature selection in bmcweb

This patchsets implements feature selection in BMCWEB using compile
time macros.  This allows certain features, security implementations,
and other things to be selected at compile time.

Change-Id: Ic14343d36d82830e6cf51311ca886a90749ae6a7
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
diff --git a/include/token_authorization_middleware.hpp b/include/token_authorization_middleware.hpp
index 0c0c474..a40469f 100644
--- a/include/token_authorization_middleware.hpp
+++ b/include/token_authorization_middleware.hpp
@@ -165,7 +165,7 @@
     if (session == nullptr) {
       return nullptr;
     }
-
+#ifndef BMCWEB_INSECURE_DISABLE_CSRF_PREVENTION
     // RFC7231 defines methods that need csrf protection
     if (req.method() != "GET"_method) {
       boost::string_view csrf = req.get_header_value("X-XSRF-TOKEN");
@@ -178,6 +178,7 @@
         return nullptr;
       }
     }
+#endif
     return session;
   }