accept_encoding.h 905 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef CPR_ACCEPT_ENCODING_H
  2. #define CPR_ACCEPT_ENCODING_H
  3. #include <curl/curlver.h>
  4. #include <initializer_list>
  5. #include <map>
  6. #include <string>
  7. #include <vector>
  8. namespace cpr {
  9. enum class AcceptEncodingMethods {
  10. identity,
  11. deflate,
  12. zlib,
  13. gzip,
  14. };
  15. static const std::map<AcceptEncodingMethods, std::string> AcceptEncodingMethodsStringMap{{AcceptEncodingMethods::identity, "identity"}, {AcceptEncodingMethods::deflate, "deflate"}, {AcceptEncodingMethods::zlib, "zlib"}, {AcceptEncodingMethods::gzip, "gzip"}};
  16. class AcceptEncoding {
  17. public:
  18. AcceptEncoding() = default;
  19. AcceptEncoding(const std::initializer_list<AcceptEncodingMethods>& methods);
  20. AcceptEncoding(const std::initializer_list<std::string>& methods);
  21. bool empty() const noexcept;
  22. const std::string getString() const;
  23. private:
  24. std::vector<std::string> methods_;
  25. };
  26. } // namespace cpr
  27. #endif