5 #include <gtest/gtest.h> 9 #include "httpinterface.h" 10 #include "logging/logging.h" 11 #include "utilities/utils.h" 31 HttpResponse get(
const std::string &url, int64_t maxsize)
override;
35 HttpResponse download(
const std::string &url, curl_write_callback callback,
void *userp)
override;
36 void setCerts(
const std::string &ca, CryptoSource ca_source,
const std::string &cert, CryptoSource cert_source,
37 const std::string &pkey, CryptoSource pkey_source)
override;
41 FRIEND_TEST(GetTest, download_speed_limit);
54 HttpResponse perform(CURL *curl_handler,
int retry_times, int64_t size_limit);
55 std::string user_agent;
57 static CURLcode sslCtxFunction(CURL *handle,
void *sslctx,
void *parm);
58 std::unique_ptr<TemporaryFile> tls_ca_file;
59 std::unique_ptr<TemporaryFile> tls_cert_file;
60 std::unique_ptr<TemporaryFile> tls_pkey_file;
61 static const int RETRY_TIMES = 2;
62 static const long kSpeedLimitTimeInterval = 60L;
63 static const long kSpeedLimitBytesPerSec = 5000L;
65 long speed_limit_time_interval_{kSpeedLimitTimeInterval};
66 long speed_limit_bytes_per_sec_{kSpeedLimitBytesPerSec};
67 void overrideSpeedLimitParams(
long time_interval,
long bytes_per_sec) {
68 speed_limit_time_interval_ = time_interval;
69 speed_limit_bytes_per_sec_ = bytes_per_sec;
71 bool pkcs11_key{
false};
72 bool pkcs11_cert{
false};
Helper class to manage curl_global_init/curl_global_cleanup calls.