From 2a7dc27323e34127e570c0ac4d45128fa6c2d756 Mon Sep 17 00:00:00 2001 From: marcelb Date: Fri, 3 Nov 2023 19:47:46 +0100 Subject: [PATCH] Finalizing and tested --- lib/cppurl.hpp | 39 +++++++++++++++++++++++++++++++++++---- src/cppurl.cpp | 43 ++++++++++++++++++++++++++++++++++++------- test/test | Bin 24640 -> 32232 bytes test/test.cpp | 6 +++--- 4 files changed, 74 insertions(+), 14 deletions(-) diff --git a/lib/cppurl.hpp b/lib/cppurl.hpp index a81da5f..6717581 100644 --- a/lib/cppurl.hpp +++ b/lib/cppurl.hpp @@ -3,6 +3,7 @@ #include #include +#include namespace marcelb { @@ -14,13 +15,43 @@ class Curl { CURL *curl; CURLcode res; string readBuffer; - - + struct curl_slist *headers = NULL; + string _useragent; public: - // Curl(); - string request(const string& req); + /** + * Postavi zaglavlje s ključem i vrijednošću + * Novi pozivi ne brišu stara zaglavlja, ponovljena se prepišu + */ + Curl& header(const string& key, const string& value); + + /** + * Postavi zaglavlja iz mape + * Ponovan poziv prepisat će ona zaglavlja koja postoje + */ + Curl& header(const map &_headers); + + /** + * Postavi u zaglavlje User-Agent + */ + Curl& useragent(const string& useragent_); + + /** + * Izvršiv HTTP GET zahtjev + * Vraća string HTTP tjela + */ + string get(const string& req); + + /** + * Obriši spremljeno zaglavlje + */ + Curl& clearheader(); + + /** + * Obrši trenutnog User-Agent -a + */ + Curl& clearuseragent(); }; diff --git a/src/cppurl.cpp b/src/cppurl.cpp index 7e784cc..a4b6c91 100644 --- a/src/cppurl.cpp +++ b/src/cppurl.cpp @@ -3,17 +3,42 @@ using namespace marcelb; -// marcelb::Curl::Curl() { -// } +static size_t marcelb::WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) { + ((std::string*)userp)->append((char*)contents, size * nmemb); + return size * nmemb; +} + +Curl& marcelb::Curl::header(const string& key, const string& value) { + headers = curl_slist_append(headers, string(key + ": " + value).c_str()); + return *this; +} + +Curl& marcelb::Curl::header(const map &_headers) { + for (auto h : _headers) { + header(h.first, h.second); + } + return *this; +} + +Curl& marcelb::Curl::useragent(const string& useragent_) { + _useragent = useragent_; + return *this; +} -string marcelb::Curl::request(const string& req){ +string marcelb::Curl::get(const string& req){ curl = curl_easy_init(); readBuffer.clear(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, req.c_str()); + if (headers != NULL) { + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + } + if (!_useragent.empty()) { + curl_easy_setopt(curl, CURLOPT_USERAGENT, _useragent.c_str()); + } curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer); res = curl_easy_perform(curl); @@ -23,8 +48,12 @@ string marcelb::Curl::request(const string& req){ return readBuffer; } +Curl& marcelb::Curl::clearheader() { + headers = NULL; + return *this; +} -static size_t marcelb::WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) { - ((std::string*)userp)->append((char*)contents, size * nmemb); - return size * nmemb; -} \ No newline at end of file +Curl& marcelb::Curl::clearuseragent() { + _useragent.clear(); + return *this; +} diff --git a/test/test b/test/test index d0b68c13b417fdc3c16ec980d9a8560aab68e384..52392b67723589ebda79c7cdec070f1e756dbea9 100755 GIT binary patch literal 32232 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 D_pfXX diff --git a/test/test.cpp b/test/test.cpp index 41f058d..e48c09d 100644 --- a/test/test.cpp +++ b/test/test.cpp @@ -9,9 +9,9 @@ int main () { Curl rest; - cout << rest.request("https://reqres.in/api/unknown/2") << endl; - - cout << rest.request("https://reqres.in/api/users/2") << endl; + rest.header("Baba", "Janja").useragent("Dinio api client v1.1.0 - bitelex@bitelex.co"); + cout << rest.get("http://localhost:5000/?param1=tvt¶m2=2023") << endl; + // cout << rest.request("https://reqres.in/api/users/2") << endl; } \ No newline at end of file