HttpClient.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef HTTPCLIENT_H
  2. #define HTTPCLIENT_H
  3. #include <memory>
  4. #include <string>
  5. #include <vector>
  6. namespace Http {
  7. class HttpClientImpl;
  8. class HttpClient
  9. {
  10. public:
  11. HttpClient(int timeout = 3);
  12. ~HttpClient();
  13. HttpClient(const HttpClient&) = delete;
  14. int GetUrlReturnCode(const std::string& url) const;
  15. std::string GetUrlContents(const std::string& url) const;
  16. void GetUrlSilent(const std::string& url) const;
  17. std::string GetUrlRedirect(const std::string& url) const;
  18. std::string GetUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders) const;
  19. void GetUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders) const;
  20. std::string GetUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders) const;
  21. std::string GetUrlContents(const std::string& url, const std::string& cookieFile) const;
  22. void GetUrlSilent(const std::string& url, const std::string& cookieFile) const;
  23. std::string GetUrlRedirect(const std::string& url, const std::string& cookieFile) const;
  24. std::string GetUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
  25. void GetUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
  26. std::string GetUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile) const;
  27. std::string PutUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  28. void PutUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  29. std::string PutUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  30. std::string PutUrlContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  31. void PutUrlSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  32. std::string PutUrlRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  33. std::string GetUrlPostContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  34. void GetUrlPostSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  35. std::string GetUrlPostRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& data) const;
  36. std::string GetUrlPostContents(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  37. void GetUrlPostSilent(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  38. std::string GetUrlPostRedirect(const std::string& url, const std::vector<std::string>& httpHeaders, const std::string& cookieFile, const std::string& data) const;
  39. std::string GetUrlPostAttachmentContents(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  40. void GetUrlPostAttachmentSilent(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  41. std::string GetUrlPostAttachmentRedirect(const std::string& url, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  42. std::string GetUrlPostAttachmentContents(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  43. void GetUrlPostAttachmentSilent(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  44. std::string GetUrlPostAttachmentRedirect(const std::string& url, const std::string& cookieFile, const std::string& data, const std::string& filename, const std::string& fileFieldname) const;
  45. private:
  46. std::unique_ptr<HttpClientImpl> m_pHttpClientImpl;
  47. };
  48. } // namespace Http
  49. #endif // HTTPCLIENT_H