Make app middlewares not require specific instances of app
diff --git a/include/crow/bmc_app_type.hpp b/include/crow/bmc_app_type.hpp
deleted file mode 100644
index 061143b..0000000
--- a/include/crow/bmc_app_type.hpp
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#include <crow/app.h>
-#include <token_authorization_middleware.hpp>
-#include <security_headers_middleware.hpp>
-
-using BmcAppType = crow::App<crow::TokenAuthorizationMiddleware, crow::SecurityHeadersMiddleware>;
\ No newline at end of file
diff --git a/include/g3log/generated_definitions.hpp b/include/g3log/generated_definitions.hpp
new file mode 100644
index 0000000..18433bb
--- /dev/null
+++ b/include/g3log/generated_definitions.hpp
@@ -0,0 +1,13 @@
+// AUTO GENERATED MACRO DEFINITIONS FOR G3LOG
+
+/** ==========================================================================
+* 2015 by KjellKod.cc. This is PUBLIC DOMAIN to use at your own risk and comes
+* with no warranties. This code is yours to share, use and modify with no
+* strings attached and no restrictions or obligations.
+* 
+* For more information see g3log/LICENSE or refer refer to http://unlicense.org
+* ============================================================================*/
+#pragma once
+
+// CMake induced definitions below. See g3log/Options.cmake for details.
+
diff --git a/include/web_kvm.hpp b/include/web_kvm.hpp
index 65fe812..40c5128 100644
--- a/include/web_kvm.hpp
+++ b/include/web_kvm.hpp
@@ -1,8 +1,7 @@
+#include <crow/app.h>
 #include <boost/endian/arithmetic.hpp>
 #include <string>
 
-#include <crow/bmc_app_type.hpp>
-
 #include <video.h>
 
 namespace crow {
@@ -176,7 +175,8 @@
 
 connection_metadata meta;
 
-void request_routes(BmcAppType& app) {
+template <typename... Middlewares>
+void request_routes(Crow<Middlewares...>& app) {
   CROW_ROUTE(app, "/kvmws")
       .websocket()
       .onopen([&](crow::websocket::connection& conn) {