HTTPS extended client ! HTTPS extended client make requests to HTTPS Web server with returning std::future as a synchronization primitive. Thread-safe. */
| 173 | Thread-safe. |
| 174 | */ |
| 175 | class HTTPSClientEx : public HTTPSClient |
| 176 | { |
| 177 | public: |
| 178 | using HTTPSClient::HTTPSClient; |
| 179 | |
| 180 | //! Get the TCP resolver |
| 181 | std::shared_ptr<Asio::TCPResolver>& resolver() noexcept { return _resolver; } |
| 182 | const std::shared_ptr<Asio::TCPResolver>& resolver() const noexcept { return _resolver; } |
| 183 | //! Get the timeout check timer |
| 184 | std::shared_ptr<Asio::Timer>& timeout() noexcept { return _timeout; } |
| 185 | const std::shared_ptr<Asio::Timer>& timeout() const noexcept { return _timeout; } |
| 186 | |
| 187 | //! Send HTTP request |
| 188 | /*! |
| 189 | \param timeout - HTTP request timeout |
| 190 | \return HTTP request future |
| 191 | */ |
| 192 | std::future<HTTPResponse> SendRequest(const CppCommon::Timespan& timeout = CppCommon::Timespan::minutes(1)) { return SendRequest(_request, timeout); } |
| 193 | //! HTTP request |
| 194 | /*! |
| 195 | \param request - HTTP request |
| 196 | \param timeout - HTTP request timeout |
| 197 | \return HTTP request future |
| 198 | */ |
| 199 | std::future<HTTPResponse> SendRequest(const HTTPRequest& request, const CppCommon::Timespan& timeout = CppCommon::Timespan::minutes(1)); |
| 200 | |
| 201 | //! Send HEAD request |
| 202 | /*! |
| 203 | \param url - URL to request |
| 204 | \param timeout - HTTP request timeout |
| 205 | \return HTTP request future |
| 206 | */ |
| 207 | std::future<HTTPResponse> SendHeadRequest(std::string_view url, const CppCommon::Timespan& timeout = CppCommon::Timespan::minutes(1)) |
| 208 | { return SendRequest(_request.MakeHeadRequest(url), timeout); } |
| 209 | //! Send GET request |
| 210 | /*! |
| 211 | \param url - URL to request |
| 212 | \param timeout - HTTP request timeout |
| 213 | \return HTTP request future |
| 214 | */ |
| 215 | std::future<HTTPResponse> SendGetRequest(std::string_view url, const CppCommon::Timespan& timeout = CppCommon::Timespan::minutes(1)) |
| 216 | { return SendRequest(_request.MakeGetRequest(url), timeout); } |
| 217 | //! Send POST request |
| 218 | /*! |
| 219 | \param url - URL to request |
| 220 | \param content - Content |
| 221 | \param timeout - HTTP request timeout |
| 222 | \return HTTP request future |
| 223 | */ |
| 224 | std::future<HTTPResponse> SendPostRequest(std::string_view url, std::string_view content, const CppCommon::Timespan& timeout = CppCommon::Timespan::minutes(1)) |
| 225 | { return SendRequest(_request.MakePostRequest(url, content), timeout); } |
| 226 | //! Send PUT request |
| 227 | /*! |
| 228 | \param url - URL to request |
| 229 | \param content - Content |
| 230 | \param timeout - HTTP request timeout |
| 231 | \return HTTP request future |
| 232 | */ |
nothing calls this directly
no outgoing calls
no test coverage detected