Example #1
0
	boost::shared_ptr<Response> Client::fetch(std::string verb, Client::header_type hdr, std::string payload) {

		Handler handler;
		struct mg_mgr mgr;
		int i;
		//memset(&mgr, 0, sizeof(struct mg_mgr));

		mg_mgr_init(&mgr, NULL);
		std::stringstream headers;
		BOOST_FOREACH(const header_type::value_type &v, hdr) {
			headers << v.first << ": " << v.second << "\r\n";
		}

		mg_connection *nc = mg_connect_http(&mgr, &Handler::ev_handler, url_.c_str(), verb.c_str(), headers.str().c_str(), payload.c_str());
		nc->user_data = &handler;

		while (!handler.is_done()) {
			mg_mgr_poll(&mgr, 1000);
		}
		mg_mgr_free(&mgr);
		return handler.response;
	}