diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-09-02 19:58:41 +0100 | 
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2015-09-02 20:21:30 +0100 | 
| commit | a3f47bdeb630361502a743259dcaa0bb1377f3bd (patch) | |
| tree | dc570fa0058c4569dba6075988fac27eb02cdec7 | |
| parent | Visibility hidden (diff) | |
| download | p2pvr-a3f47bdeb630361502a743259dcaa0bb1377f3bd.tar.bz2 p2pvr-a3f47bdeb630361502a743259dcaa0bb1377f3bd.tar.xz p2pvr-a3f47bdeb630361502a743259dcaa0bb1377f3bd.zip | |
Use libadhocutil
| -rw-r--r-- | libtmdb/Jamfile.jam | 2 | ||||
| -rw-r--r-- | libtmdb/httpClient.cpp | 34 | 
2 files changed, 8 insertions, 28 deletions
| diff --git a/libtmdb/Jamfile.jam b/libtmdb/Jamfile.jam index 3c719b6..668af7d 100644 --- a/libtmdb/Jamfile.jam +++ b/libtmdb/Jamfile.jam @@ -14,6 +14,7 @@ lib boost_system ;  lib boost_filesystem ;  lib curl ;  lib boost_utf : : <name>boost_unit_test_framework ; +lib adhocutil : : : : <include>/usr/include/adhocutil ;  lib tmdb :  	[ glob *.cpp *.ice : test*.cpp ] : @@ -26,6 +27,7 @@ lib tmdb :  	<library>boost_system  	<library>glibmm  	<library>curl +	<library>adhocutil  	<slicer>yes  	<cflags>-fvisibility=hidden  	: : diff --git a/libtmdb/httpClient.cpp b/libtmdb/httpClient.cpp index a4b4eb7..4331c07 100644 --- a/libtmdb/httpClient.cpp +++ b/libtmdb/httpClient.cpp @@ -2,6 +2,7 @@  #include <boost/lexical_cast.hpp>  #include <curl/curl.h>  #include <tmdb-api.h> +#include <curlStream.h>  namespace TMDb {  	HttpClient::HttpClient(const std::string & bu, const std::string & k) : @@ -38,38 +39,15 @@ namespace TMDb {  		}  	} -	static size_t -	appendString(void * contents, size_t size, size_t nmemb, void * userp) -	{ -		auto data = static_cast<std::stringstream *>(userp); -		data->write(static_cast<const char *>(contents), size * nmemb); -		return size * nmemb; -	} -  	json::Value  	HttpClient::FetchJson(const std::string & path) const  	{ -		std::stringstream jsonData; - -		struct curl_slist *headers = NULL; -    curl_slist_append(headers, "Accept: application/json"); - -		CURL * curl_handle = curl_easy_init(); -		curl_easy_setopt(curl_handle, CURLOPT_URL, path.c_str()); -		curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, appendString); -		curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&jsonData); -		curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0"); -    curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, headers);  -		CURLcode res = curl_easy_perform(curl_handle); - -		long http_code = 0; -		curl_easy_getinfo(curl_handle, CURLINFO_RESPONSE_CODE, &http_code); -		curl_easy_cleanup(curl_handle); -		if (res != CURLE_OK) { -			throw TMDb::HttpException(http_code); -		} +		AdHoc::Net::CurlStreamSource css(path); +		css.appendHeader("Accept: application/json"); +		css.setopt(CURLOPT_USERAGENT, "libtmdb/1.0"); -		return json::parseValue(jsonData); +		AdHoc::Net::CurlStream curlstrm(css); +		return json::parseValue(curlstrm);  	}  } | 
