aboutsummaryrefslogtreecommitdiffstats
path: root/include/crow.h
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 /include/crow.h
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 'include/crow.h')
-rw-r--r--include/crow.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/crow.h b/include/crow.h
index fdc5206..c9fdff9 100644
--- a/include/crow.h
+++ b/include/crow.h
@@ -69,7 +69,7 @@ namespace crow
void run()
{
validate();
- server_t server(this, port_, concurrency_);
+ server_t server(this, port_, &middlewares_, concurrency_);
server.run();
}
@@ -89,11 +89,19 @@ namespace crow
return ctx.template get<T>();
}
+ template <typename T>
+ T* get_middleware()
+ {
+ return utility::get_element_by_type_ptr<T, Middlewares...>(middlewares_);
+ }
+
private:
uint16_t port_ = 80;
uint16_t concurrency_ = 1;
Router router_;
+
+ std::tuple<Middlewares...> middlewares_;
};
template <typename ... Middlewares>
using App = Crow<Middlewares...>;