Merge pull request #7 from TechPriest/master

Fixed MSVC build of HTTP server.
This commit is contained in:
Ole Christian Eidheim 2015-05-15 10:18:34 +02:00
commit 419c3f0233

View file

@ -34,7 +34,7 @@ namespace SimpleWeb {
strand(strand), yield(yield), socket(socket), async_timer(new boost::asio::deadline_timer(io_service)), strand(strand), yield(yield), socket(socket), async_timer(new boost::asio::deadline_timer(io_service)),
async_writing(new bool(false)), async_waiting(new bool(false)), stream(&streambuf) {} async_writing(new bool(false)), async_waiting(new bool(false)), stream(&streambuf) {}
void async_flush(std::function<void((const boost::system::error_code&))> callback=nullptr) { void async_flush(std::function<void(const boost::system::error_code&)> callback=nullptr) {
if(!callback && !socket->lowest_layer().is_open()) { if(!callback && !socket->lowest_layer().is_open()) {
if(*async_waiting) if(*async_waiting)
async_timer->cancel(); async_timer->cancel();
@ -131,14 +131,14 @@ namespace SimpleWeb {
}; };
std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::string,
std::function<void(ServerBase<socket_type>::Response&, std::shared_ptr<ServerBase<socket_type>::Request>)> > > resource; std::function<void(typename ServerBase<socket_type>::Response&, std::shared_ptr<typename ServerBase<socket_type>::Request>)> > > resource;
std::unordered_map<std::string, std::unordered_map<std::string,
std::function<void(ServerBase<socket_type>::Response&, std::shared_ptr<ServerBase<socket_type>::Request>)> > default_resource; std::function<void(typename ServerBase<socket_type>::Response&, std::shared_ptr<typename ServerBase<socket_type>::Request>)> > default_resource;
private: private:
std::vector<std::pair<std::string, std::vector<std::pair<std::regex, std::vector<std::pair<std::string, std::vector<std::pair<std::regex,
std::function<void(ServerBase<socket_type>::Response&, std::shared_ptr<ServerBase<socket_type>::Request>)> > > > > opt_resource; std::function<void(typename ServerBase<socket_type>::Response&, std::shared_ptr<typename ServerBase<socket_type>::Request>)> > > > > opt_resource;
public: public:
void start() { void start() {
@ -320,7 +320,7 @@ namespace SimpleWeb {
} }
void write_response(std::shared_ptr<socket_type> socket, std::shared_ptr<Request> request, void write_response(std::shared_ptr<socket_type> socket, std::shared_ptr<Request> request,
std::function<void(ServerBase<socket_type>::Response&, std::shared_ptr<ServerBase<socket_type>::Request>)>& resource_function) { std::function<void(typename ServerBase<socket_type>::Response&, std::shared_ptr<typename ServerBase<socket_type>::Request>)>& resource_function) {
std::shared_ptr<boost::asio::strand> strand(new boost::asio::strand(io_service)); std::shared_ptr<boost::asio::strand> strand(new boost::asio::strand(io_service));
//Set timeout on the following boost::asio::async-read or write function //Set timeout on the following boost::asio::async-read or write function