diff options
author | Antony Woods <acron1@gmail.com> | 2014-10-23 18:33:03 +0100 |
---|---|---|
committer | Antony Woods <acron1@gmail.com> | 2014-10-23 18:33:03 +0100 |
commit | 27bf11d35c8ce44fd9fef656e2975712846b9bb2 (patch) | |
tree | 7005bb1a5227983464e9a89fb7a381000ce7bb74 /include/crow.h | |
parent | a5fab23f70e6e33c633ba4b646a41d0851169ad1 (diff) | |
download | crow-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.h | 10 |
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...>; |