C++ libcurl framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cppurl/lib/cppurl.hpp

77 lines
1.4 KiB

11 months ago
#ifndef _CPPURL_
#define _CPPURL_
#include <curl/curl.h>
#include <string>
#include <map>
#include <iostream>
11 months ago
namespace marcelb {
using namespace std;
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp);
class Curl {
CURL *curl;
CURLcode res;
string readBuffer;
struct curl_slist *headers = NULL;
string _useragent;
10 months ago
long _timeout = 0;
bool _sslvalidate = true;
11 months ago
public:
/**
* 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<string, string> &_headers);
/**
* Postavi u zaglavlje User-Agent
*/
Curl& useragent(const string& useragent_);
10 months ago
/**
* Postavi vrijeme isteka zahtjeva
*/
Curl& timeout(const long _timeout);
/**
* Omogući/onemogući validaciju certifikata kod SSL veza
*/
Curl& sslvalidate(const bool sslvalidate_);
/**
* 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();
11 months ago
};
}
#endif