add PIHTTPClient::ignoreSSLErrors()
This commit is contained in:
@@ -93,6 +93,7 @@ bool PIHTTPClient::init() {
|
||||
// curl_easy_setopt(PRIVATE->handle, CURLOPT_VERBOSE, 1L);
|
||||
// curl_easy_setopt(PRIVATE->handle, CURLOPT_ERRORBUFFER, buffer_error.data());
|
||||
curl_easy_setopt(PRIVATE->handle, CURLOPT_SSL_VERIFYPEER, 0L);
|
||||
curl_easy_setopt(PRIVATE->handle, CURLOPT_SSL_VERIFYHOST, ignore_ssl_errors ? 0L : 1L);
|
||||
if (request.body().isNotEmpty()) {
|
||||
curl_easy_setopt(PRIVATE->handle, CURLOPT_UPLOAD, 1L);
|
||||
curl_easy_setopt(PRIVATE->handle, CURLOPT_INFILESIZE_LARGE, static_cast<curl_off_t>(request.body().size()));
|
||||
@@ -273,6 +274,12 @@ PIHTTPClient * PIHTTPClient::onAbort(std::function<void(const PIHTTP::MessageCon
|
||||
}
|
||||
|
||||
|
||||
PIHTTPClient * PIHTTPClient::ignoreSSLErrors() {
|
||||
ignore_ssl_errors = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
void PIHTTPClient::start() {
|
||||
CurlThreadPool::instance()->registerClient(this);
|
||||
}
|
||||
|
||||
@@ -48,6 +48,10 @@ public:
|
||||
//! \~russian Устанавливает callback для прерывания запроса (с ответом о прерывании).
|
||||
PIHTTPClient * onAbort(std::function<void(const PIHTTP::MessageConst &)> f);
|
||||
|
||||
//! \~english Setup request to ignore SSL errors. Need to call before \a start().
|
||||
//! \~russian Устанавливает игнорирование ошибок SSL. Необходимо вызывать перед \a start().
|
||||
PIHTTPClient * ignoreSSLErrors();
|
||||
|
||||
//! \~english Starts the HTTP request execution.
|
||||
//! \~russian Начинает выполнение HTTP-запроса.
|
||||
void start();
|
||||
@@ -83,6 +87,7 @@ private:
|
||||
PIByteArray buffer_out;
|
||||
PIHTTP::MessageMutable request, reply;
|
||||
std::atomic_bool is_cancel = {false};
|
||||
bool ignore_ssl_errors = false;
|
||||
ssize_t read_pos = 0;
|
||||
std::function<void(const PIHTTP::MessageConst &)> on_finish, on_error, on_abort;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user