diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2019-03-30 14:49:18 +0100 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2019-03-30 17:13:57 +0100 |
| commit | 3dbf44417a7cc50e7e173bd710a5fcb904bdfe20 (patch) | |
| tree | e8536a816c05afe21b04b5ad73881332ab2991b8 /Source/Core/Common/HttpRequest.cpp | |
| parent | 0bce1c509de46e3be3eeef732f264f1b17e3e333 (diff) | |
Common/HttpRequest: Implement EscapeComponent
Diffstat (limited to 'Source/Core/Common/HttpRequest.cpp')
| -rw-r--r-- | Source/Core/Common/HttpRequest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/Core/Common/HttpRequest.cpp b/Source/Core/Common/HttpRequest.cpp index cee9d7434c..82fed65598 100644 --- a/Source/Core/Common/HttpRequest.cpp +++ b/Source/Core/Common/HttpRequest.cpp @@ -36,6 +36,7 @@ public: static int CurlProgressCallback(Impl* impl, double dlnow, double dltotal, double ulnow, double ultotal); + const std::string EscapeComponent(const std::string& string); private: static std::mutex s_curl_was_inited_mutex; @@ -74,6 +75,11 @@ void HttpRequest::FollowRedirects(long max) m_impl->FollowRedirects(max); } +const std::string HttpRequest::EscapeComponent(const std::string& string) +{ + return m_impl->EscapeComponent(string); +} + HttpRequest::Response HttpRequest::Get(const std::string& url, const Headers& headers) { return m_impl->Fetch(url, Impl::Method::GET, headers, nullptr, 0); @@ -159,6 +165,11 @@ void HttpRequest::Impl::FollowRedirects(long max) curl_easy_setopt(m_curl.get(), CURLOPT_MAXREDIRS, max); } +const std::string HttpRequest::Impl::EscapeComponent(const std::string& string) +{ + return curl_easy_escape(m_curl.get(), string.c_str(), static_cast<int>(string.size())); +} + static size_t CurlWriteCallback(char* data, size_t size, size_t nmemb, void* userdata) { auto* buffer = static_cast<std::vector<u8>*>(userdata); |
