Common/HttpRequest: Add option to set cookies

This commit is contained in:
spycrab
2018-05-29 03:55:52 +02:00
parent 62adfaa01c
commit 44784cf363
2 changed files with 13 additions and 0 deletions

View File

@ -28,6 +28,7 @@ public:
explicit Impl(std::chrono::milliseconds timeout_ms, ProgressCallback callback);
bool IsValid() const;
void SetCookies(const std::string& cookies);
Response Fetch(const std::string& url, Method method, const Headers& headers, const u8* payload,
size_t size);
@ -56,6 +57,11 @@ bool HttpRequest::IsValid() const
return m_impl->IsValid();
}
void HttpRequest::SetCookies(const std::string& cookies)
{
m_impl->SetCookies(cookies);
}
HttpRequest::Response HttpRequest::Get(const std::string& url, const Headers& headers)
{
return m_impl->Fetch(url, Impl::Method::GET, headers, nullptr, 0);
@ -125,6 +131,11 @@ bool HttpRequest::Impl::IsValid() const
return m_curl != nullptr;
}
void HttpRequest::Impl::SetCookies(const std::string& cookies)
{
curl_easy_setopt(m_curl.get(), CURLOPT_COOKIE, cookies.c_str());
}
static size_t CurlWriteCallback(char* data, size_t size, size_t nmemb, void* userdata)
{
auto* buffer = static_cast<std::vector<u8>*>(userdata);