8#include <esp_idf_version.h>
9#include <esp_http_client.h>
14#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 3)
15#define USE_HTTP_REQUEST_IDF_SOCKET_POLL
25 int read(uint8_t *buf,
size_t max_len)
override;
44 int read_(uint8_t *buf,
size_t max_len);
84 std::shared_ptr<HttpContainer>
begin(
const char *url,
const char *method, std::string &&body,
85 const std::vector<Header> &request_headers,
86 const std::vector<std::string> &lower_case_collect_headers,
91 std::shared_ptr<HttpContainerIDF>
start_container_(
const char *url,
const char *method, std::string &&body,
92 const std::vector<Header> &request_headers,
93 const std::vector<std::string> &lower_case_collect_headers,
95 std::shared_ptr<HttpContainerIDF>
create_container_(
const char *url,
const char *method,
96 const std::vector<Header> &request_headers,
97 const std::vector<std::string> &lower_case_collect_headers,
99 std::shared_ptr<HttpContainer>
perform(
const char *url,
const char *method,
const std::string &body,
100 const std::vector<Header> &request_headers,
101 const std::vector<std::string> &lower_case_collect_headers,
int status_code
-1 indicates no response received yet
bool is_read_complete() const override
bool socket_ready_(bool write)
True when the socket can be read or written without waiting; always true when it cannot be checked.
HttpRequestProgress response_failed_(int status_code)
Finish with an unsuccessful status, which is reported through on_response like a success.
HttpRequestProgress poll() override
int read(uint8_t *buf, size_t max_len) override
HttpContainerIDF(esp_http_client_handle_t client)
int read_(uint8_t *buf, size_t max_len)
std::vector< std::string > collect_headers_
HttpRequestIDF * idf_parent_()
HttpRequestProgress fail_(esp_err_t err)
HttpRequestProgress wait_()
void feed_wdt()
Feeds the watchdog timer if the executing task has one attached.
int read_available(uint8_t *buf, size_t max_len) override
esp_http_client_handle_t client_
void set_buffer_size_tx(uint16_t buffer_size_tx)
std::shared_ptr< HttpContainerIDF > start_container_(const char *url, const char *method, std::string &&body, const std::vector< Header > &request_headers, const std::vector< std::string > &lower_case_collect_headers, uint32_t timeout_ms, bool async)
A container that poll() takes from the connect through to the response headers.
void set_verify_ssl(bool verify_ssl)
std::shared_ptr< HttpContainer > perform(const char *url, const char *method, const std::string &body, const std::vector< Header > &request_headers, const std::vector< std::string > &lower_case_collect_headers, uint32_t timeout_ms) override
void set_buffer_size_rx(uint16_t buffer_size_rx)
const char * ca_certificate_
void dump_config() override
std::shared_ptr< HttpContainer > begin(const char *url, const char *method, std::string &&body, const std::vector< Header > &request_headers, const std::vector< std::string > &lower_case_collect_headers, uint32_t timeout_ms) override
std::shared_ptr< HttpContainerIDF > create_container_(const char *url, const char *method, const std::vector< Header > &request_headers, const std::vector< std::string > &lower_case_collect_headers, uint32_t timeout_ms, bool async)
static esp_err_t http_event_handler(esp_http_client_event_t *evt)
Monitors the http client events to gather response headers.
void set_ca_certificate(const char *ca_certificate)
HttpRequestProgress
Progress of a request started with HttpRequestComponent::begin()