8 #ifndef _NIM_TOOLS_SDK_CPP_HTTP_H_ 9 #define _NIM_TOOLS_SDK_CPP_HTTP_H_ 15 #include "..\..\nim_tools_c_sdk\http\nim_tools_http_def.h" 66 void Init(
const std::wstring &dll_path = L
"");
79 void InitLog(
const std::string& log_file_path);
135 HttpRequest(
const std::string& url,
const std::string& download_file_path,
150 HttpRequest(
const std::string& url,
const std::string& download_file_path,
165 HttpRequest(
const std::string& url,
const char* post_body,
size_t post_body_size,
175 void AddHeader(
const std::string& key,
const std::string& value);
182 void AddHeader(
const std::map<std::string, std::string>& headers_map);
203 void SetLowSpeed(
int low_speed_limit,
int low_speed_time);
214 void SetProxy(
NIMProxyType type,
const std::string& host,
short port,
const std::string& user,
const std::string& pass);
217 static void CompletedCallbackWrapper(
const void* user_data,
bool is_ok,
int response_code);
218 static void ResponseCallbackWrapper(
const void* user_data,
bool is_ok,
int response_code,
const char* content);
219 static void ProgressCallbackWrapper(
const void* user_data,
double upload_size,
double uploaded_size,
double download_size,
double downloaded_size);
220 static void SpeedCallbackWrapper(
const void* user_data,
double upload_speed,
double download_speed);
221 static void TransferCallbackWrapper(
const void* user_data,
double actual_upload_size,
double upload_speed,
double actual_download_size,
double download_speed);
223 friend int PostRequest(
const HttpRequest& http_request);
230 #endif // _NIM_TOOLS_SDK_CPP_HTTP_H_
HttpRequestID PostRequest(const HttpRequest &http_request)
std::function< void(double, double, double, double)> TransferCallback
Definition: nim_tools_http_cpp.h:57
void SetProxy(NIMProxyType type, const std::string &host, short port, const std::string &user, const std::string &pass)
NIM HTTP提供的http传输相关接口
Definition: nim_tools_http_cpp.h:122
void SetTimeout(int timeout_ms)
std::function< void(bool, int)> CompletedCallback
Definition: nim_tools_http_cpp.h:28
HttpRequest(const std::string &url, const std::string &download_file_path, const CompletedCallback &complete_cb, const ProgressCallback &progress_cb=ProgressCallback(), const SpeedCallback &speed_cb=SpeedCallback(), const TransferCallback &transfer_cb=TransferCallback())
void SetLowSpeed(int low_speed_limit, int low_speed_time)
void SetGlobalProxy(NIMProxyType type, const std::string &host, short port, const std::string &user, const std::string &pass)
void Init(const std::wstring &dll_path=L"")
Definition: nim_tools_http_cpp.h:59
std::function< void(bool, int, const std::string &)> ResponseCallback
Definition: nim_tools_http_cpp.h:35
void InitLog(const std::string &log_file_path)
std::string GetResponseHead(HttpRequestID http_request_id)
std::function< void(double, double, double, double)> ProgressCallback
Definition: nim_tools_http_cpp.h:43
std::function< void(double, double)> SpeedCallback
Definition: nim_tools_http_cpp.h:49
void AddHeader(const std::string &key, const std::string &value)
void RemoveRequest(HttpRequestID http_request_id)