aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorAntony Woods <acron1@gmail.com>2014-10-23 18:33:03 +0100
committerAntony Woods <acron1@gmail.com>2014-10-23 18:33:03 +0100
commit27bf11d35c8ce44fd9fef656e2975712846b9bb2 (patch)
tree7005bb1a5227983464e9a89fb7a381000ce7bb74 /examples
parenta5fab23f70e6e33c633ba4b646a41d0851169ad1 (diff)
downloadcrow-27bf11d35c8ce44fd9fef656e2975712846b9bb2.tar.gz
crow-27bf11d35c8ce44fd9fef656e2975712846b9bb2.zip
Re-implemented 'get_middleware()' as suggested, without changing the Server constructor and now no longer encountering hangs
Diffstat (limited to 'examples')
-rw-r--r--examples/example.cpp35
1 files changed, 33 insertions, 2 deletions
diff --git a/examples/example.cpp b/examples/example.cpp
index b360adb..48b381c 100644
--- a/examples/example.cpp
+++ b/examples/example.cpp
@@ -10,9 +10,40 @@ class ExampleLogHandler : public crow::ILogHandler {
}
};
+struct ExampleMiddelware
+{
+ std::string message;
+
+ ExampleMiddelware()
+ {
+ message = "foo";
+ }
+
+ void setMessage(std::string newMsg)
+ {
+ message = newMsg;
+ }
+
+ struct context
+ {
+ };
+
+ void before_handle(crow::request& req, crow::response& res, context& ctx)
+ {
+ CROW_LOG_DEBUG << " - MESSAGE: " << message;
+ }
+
+ void after_handle(crow::request& req, crow::response& res, context& ctx)
+ {
+ // no-op
+ }
+};
+
int main()
{
- crow::SimpleApp app;
+ crow::App<ExampleMiddelware> app;
+
+ app.get_middleware<ExampleMiddelware>()->setMessage("hello");
CROW_ROUTE(app, "/")
.name("hello")
@@ -69,7 +100,7 @@ int main()
});
// ignore all log
- crow::logger::setLogLevel(crow::LogLevel::CRITICAL);
+ crow::logger::setLogLevel(crow::LogLevel::DEBUG);
//crow::logger::setHandler(std::make_shared<ExampleLogHandler>());
app.port(18080)