bool HttpClient::Request(HttpRequest::MethodType method, const std::string& url, const std::string& data, const HttpClient::Options& options, HttpResponse *response, ErrorCode *error) { ErrorCode error_placeholder; if (error == NULL) { error = &error_placeholder; } HttpRequest request; request.SetMethod(method); request.SetBody(data); request.SetHeader("Content-Length", IntegerToString(data.size())); DownloadTask task(this); bool ret = task.ProcessRequest(url, options, &request, response); *error = task.GetLastError(); return ret && *error == SUCCESS; }