diff --git a/server_http.hpp b/server_http.hpp index 9ab8760..6fcc678 100644 --- a/server_http.hpp +++ b/server_http.hpp @@ -147,6 +147,8 @@ namespace SimpleWeb { std::function::Response>, std::shared_ptr::Request>)> > default_resource; std::function::Request>, const boost::system::error_code&)> on_error; + + std::function socket, std::shared_ptr::Request>)> on_upgrade; private: std::vector &socket, const std::shared_ptr &request) { + //Upgrade connection + if(on_upgrade) { + auto it_param=request->header.find("Upgrade"); + if(it_param!=request->header.end()) { + on_upgrade(socket, request); + return; + } + } //Find path- and method-match, and call write_response for(auto& res: opt_resource) { if(request->method==res.first) {