Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

HTTPSRequest.h 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef HTTPSREQUEST_H
  2. #define HTTPSREQUEST_H
  3. #include "HTTPCommon.h"
  4. #include "HTTPResponse.h"
  5. #include "../tools/URL.h"
  6. #include <functional>
  7. #include <string>
  8. #ifdef NULL
  9. #undef NULL
  10. #define NULL nullptr
  11. #endif
  12. // PolarSSL
  13. #include <mbedtls/ssl.h>
  14. #include <mbedtls/entropy.h>
  15. #include <mbedtls/ctr_drbg.h>
  16. #include <mbedtls/net_sockets.h>
  17. #include <mbedtls/error.h>
  18. #include <mbedtls/certs.h>
  19. #ifndef _WIN32
  20. static int try_close(int fd);
  21. static int try_read(int fd, char *out, size_t count);
  22. #endif
  23. // FIXME: needs to extend HTTPRequest
  24. class HTTPSRequest {
  25. public:
  26. HTTPSRequest(const std::shared_ptr<URL> u);
  27. bool sendRequest(std::function<void(const HTTPResponse&)> responseCallback, std::unique_ptr<std::string> ptrPostBody) const;
  28. const std::string versionToString(const Version version) const;
  29. const std::string methodToString(const Method method) const;
  30. bool initTLS();
  31. // has to be public, otherwise how are we going to change it
  32. Method method;
  33. Version version;
  34. private:
  35. std::string userAgent;
  36. std::shared_ptr<URL> uri;
  37. };
  38. #endif