void AsyncHttpRequest::BeginPut(std::string path, JsonTree reqData, std::function<void(std::string)>&& Callback) { std::string paramstr = reqData.serialize(); tcp::resolver::query query(_hostname, "http"); std::ostream request_stream(&_request); request_stream << "PUT " << path << " HTTP/1.1\r\n"; request_stream << "Host: " << _hostname << "\r\n"; request_stream << "Accept: */*\r\n"; request_stream << "Connection: close\r\n"; request_stream << "Content-Length: " << paramstr.size() << "\r\n\r\n"; request_stream << paramstr; _callback = Callback; _resolver.async_resolve(query, std::bind(&AsyncHttpRequest::handle_resolve, shared_from_this(), std::placeholders::_1, std::placeholders::_2)); }