1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #ifndef CURL_CONTAINER_H
- #define CURL_CONTAINER_H
- #include <initializer_list>
- #include <memory>
- #include <string>
- #include <vector>
- #include "cpr/curlholder.h"
- namespace cpr {
- struct Parameter {
- Parameter(const std::string& p_key, const std::string& p_value) : key{p_key}, value{p_value} {}
- Parameter(std::string&& p_key, std::string&& p_value) : key{std::move(p_key)}, value{std::move(p_value)} {}
- std::string key;
- std::string value;
- };
- struct Pair {
- Pair(const std::string& p_key, const std::string& p_value) : key(p_key), value(p_value) {}
- Pair(std::string&& p_key, std::string&& p_value) : key(std::move(p_key)), value(std::move(p_value)) {}
- std::string key;
- std::string value;
- };
- template <class T>
- class CurlContainer {
- public:
- /**
- * Enables or disables URL encoding for keys and values when calling GetContent(...).
- **/
- bool encode = true;
- CurlContainer() = default;
- CurlContainer(const std::initializer_list<T>&);
- void Add(const std::initializer_list<T>&);
- void Add(const T&);
- const std::string GetContent(const CurlHolder&) const;
- protected:
- std::vector<T> containerList_;
- };
- } // namespace cpr
- #endif //
|