summaryrefslogtreecommitdiff
path: root/src/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.cpp')
-rw-r--r--src/utils.cpp66
1 files changed, 1 insertions, 65 deletions
diff --git a/src/utils.cpp b/src/utils.cpp
index 683cc396..8e499376 100644
--- a/src/utils.cpp
+++ b/src/utils.cpp
@@ -21,7 +21,6 @@
#include <regex>
#include <sstream>
#include <stfl.h>
-#include <string>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/utsname.h>
@@ -31,7 +30,6 @@
#include "config.h"
#include "curlhandle.h"
#include "htmlrenderer.h"
-#include "libnewsboat-ffi/src/utils.rs.h"
#include "logger.h"
#include "strprintf.h"
@@ -188,19 +186,6 @@ std::string utils::locale_to_utf8(const std::string& text)
return std::string(utils::bridged::locale_to_utf8(text_slice));
}
-std::string utils::convert_text(const std::string& text, const std::string& tocode,
- const std::string& fromcode)
-{
- const auto text_slice =
- rust::Slice<const unsigned char>(
- reinterpret_cast<const unsigned char*>(text.c_str()),
- text.length());
-
- const auto result = utils::bridged::convert_text(text_slice, tocode, fromcode);
-
- return std::string(reinterpret_cast<const char*>(result.data()), result.size());
-}
-
std::string utils::get_command_output(const std::string& cmd)
{
return std::string(utils::bridged::get_command_output(cmd));
@@ -268,50 +253,6 @@ std::string utils::retrieve_url(const std::string& url,
return retrieve_url(url, handle, cfgcont, authinfo, body, method);
}
-namespace {
-
-struct HeaderValues {
- std::string charset;
-
- HeaderValues()
- {
- reset();
- }
-
- void reset()
- {
- charset = "utf-8";
- }
-};
-
-}
-
-static size_t handle_headers(void* ptr, size_t size, size_t nmemb, void* data)
-{
- const auto header = std::string(reinterpret_cast<const char*>(ptr), size * nmemb);
- HeaderValues* values = static_cast<HeaderValues*>(data);
-
- if (header.find("HTTP/") == 0) {
- // Reset headers if a new response is detected (there might be multiple responses per request in case of a redirect)
- values->reset();
- } else if (header.find("Content-Type:") == 0) {
- const std::string key = "charset=";
- const auto charset_index = header.find(key);
- if (charset_index != std::string::npos) {
- auto charset = header.substr(charset_index + key.size());
- utils::trim(charset);
- if (charset.size() >= 2 && charset[0] == '"' && charset[charset.size() - 1] == '"') {
- charset = charset.substr(1, charset.size() - 2);
- }
- if (charset.size() > 0) {
- values->charset = charset;
- }
- }
- }
-
- return size * nmemb;
-}
-
std::string utils::retrieve_url(const std::string& url,
CurlHandle& easyhandle,
ConfigContainer* cfgcont,
@@ -326,10 +267,6 @@ std::string utils::retrieve_url(const std::string& url,
curl_easy_setopt(easyhandle.ptr(), CURLOPT_WRITEFUNCTION, my_write_data);
curl_easy_setopt(easyhandle.ptr(), CURLOPT_WRITEDATA, &buf);
- HeaderValues hdrs;
- curl_easy_setopt(easyhandle.ptr(), CURLOPT_HEADERDATA, &hdrs);
- curl_easy_setopt(easyhandle.ptr(), CURLOPT_HEADERFUNCTION, handle_headers);
-
switch (method) {
case HTTPMethod::GET:
break;
@@ -389,8 +326,7 @@ std::string utils::retrieve_url(const std::string& url,
// See the clobbering note above.
curl_easy_setopt(easyhandle.ptr(), CURLOPT_ERRORBUFFER, NULL);
- LOG(Level::DEBUG, "Parser::parse_url: converting data from %s to utf-8", hdrs.charset);
- return utils::convert_text(buf, "utf-8", hdrs.charset);
+ return buf;
}
std::string utils::run_program(const char* argv[], const std::string& input)