lyrics fetcher: fix lyricwiki.com redirect issue

master
Eric Izoita 11 years ago committed by Andrzej Rybczak
parent 169c48b43d
commit 4ac2990baf
  1. 1
      NEWS
  2. 4
      src/curl_handle.cpp
  3. 2
      src/curl_handle.h
  4. 2
      src/lyrics_fetcher.cpp

@ -1,5 +1,6 @@
ncmpcpp-0.6.6 (????-??-??)
* A typo in the example configuration file was fixed.
* Fetching lyrics from lyricwiki.com was fixed.
ncmpcpp-0.6.5 (2015-07-05)

@ -35,7 +35,7 @@ namespace
}
}
CURLcode Curl::perform(std::string &data, const std::string &URL, const std::string &referer, unsigned timeout)
CURLcode Curl::perform(std::string &data, const std::string &URL, const std::string &referer, bool follow_redirect, unsigned timeout)
{
CURLcode result;
CURL *c = curl_easy_init();
@ -45,6 +45,8 @@ CURLcode Curl::perform(std::string &data, const std::string &URL, const std::str
curl_easy_setopt(c, CURLOPT_CONNECTTIMEOUT, timeout);
curl_easy_setopt(c, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(c, CURLOPT_USERAGENT, "ncmpcpp " VERSION);
if (follow_redirect)
curl_easy_setopt(c, CURLOPT_FOLLOWLOCATION, 1L);
if (!referer.empty())
curl_easy_setopt(c, CURLOPT_REFERER, referer.c_str());
result = curl_easy_perform(c);

@ -30,7 +30,7 @@
namespace Curl
{
CURLcode perform(std::string &data, const std::string &URL, const std::string &referer = "", unsigned timeout = 10);
CURLcode perform(std::string &data, const std::string &URL, const std::string &referer = "", bool follow_redirect = false, unsigned timeout = 10);
std::string escape(const std::string &s);
}

@ -118,7 +118,7 @@ LyricsFetcher::Result LyricwikiFetcher::fetch(const std::string &artist, const s
result.first = false;
std::string data;
CURLcode code = Curl::perform(data, result.second);
CURLcode code = Curl::perform(data, result.second, "", true);
if (code != CURLE_OK)
{

Loading…
Cancel
Save