summaryrefslogtreecommitdiff
path: root/Source/Core/Common/HttpRequest.cpp
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2018-05-29 14:42:24 +0200
committerGitHub <noreply@github.com>2018-05-29 14:42:24 +0200
commit00d91db2ecea24b807e09e355fd7dad9c72d9ca1 (patch)
tree547063f074f25be413a7d23b0e2df017b15710d2 /Source/Core/Common/HttpRequest.cpp
parent86bbf540cfabc823b36446267ad7a29dfca06ed0 (diff)
parentc086f894b1954efc371d652ef20002868b778fe9 (diff)
Merge pull request #7008 from spycrab/ddos_sux
Fix "Download Codes" hitting DDOS protection
Diffstat (limited to 'Source/Core/Common/HttpRequest.cpp')
-rw-r--r--Source/Core/Common/HttpRequest.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/Core/Common/HttpRequest.cpp b/Source/Core/Common/HttpRequest.cpp
index ff8fa32c2e..af8eb5f5c5 100644
--- a/Source/Core/Common/HttpRequest.cpp
+++ b/Source/Core/Common/HttpRequest.cpp
@@ -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);