mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-20 21:13:28 +02:00
7b45498de6
* Implement http_request component for esp-idf * Fix ifdefs * Lint * clang * Set else to fail with error message * Use unique_ptr * Fix * Tidy up casting, explicit HttpResponse lifetime (#3265) Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com> * Remove unique_ptr wrapper * Fix * Use reference * Add duration code into new split files * Add config for tx/rx buffer on idf * Fix * Try reserve response data with rx buffer size * Update http_request.h * Move client cleanup to be earlier * Move capture_response to bool on struct and remove global * Fix returns * Change quotes to brackets * Rework http request * Remove http request from old test yamls * Update component tests * Validate md5 length when hardcoded string * Linting * Add duration_ms to container * More lint * const * Remove default arguments and add helper functions for get and post * Add virtual destructor to HttpContainer * Undo const HEADER_KEYS * 🤦 * Update esphome/components/http_request/ota/ota_http_request.cpp Co-authored-by: Keith Burzinski <kbx81x@gmail.com> * Update esphome/components/http_request/ota/ota_http_request.cpp Co-authored-by: Keith Burzinski <kbx81x@gmail.com> * lint * Move header keys inline * Add missing WatchdogManagers * CAPS * Fix "follow redirects" string in config dump * IDF 5+ fix --------- Co-authored-by: Daniel Cousens <413395+dcousens@users.noreply.github.com> Co-authored-by: Daniel Cousens <dcousens@users.noreply.github.com> Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
35 lines
774 B
C++
35 lines
774 B
C++
#pragma once
|
|
|
|
#include "http_request.h"
|
|
|
|
#ifdef USE_ESP_IDF
|
|
|
|
#include <esp_event.h>
|
|
#include <esp_http_client.h>
|
|
#include <esp_netif.h>
|
|
#include <esp_tls.h>
|
|
|
|
namespace esphome {
|
|
namespace http_request {
|
|
|
|
class HttpContainerIDF : public HttpContainer {
|
|
public:
|
|
HttpContainerIDF(esp_http_client_handle_t client) : client_(client) {}
|
|
int read(uint8_t *buf, size_t max_len) override;
|
|
void end() override;
|
|
|
|
protected:
|
|
esp_http_client_handle_t client_;
|
|
};
|
|
|
|
class HttpRequestIDF : public HttpRequestComponent {
|
|
public:
|
|
std::shared_ptr<HttpContainer> start(std::string url, std::string method, std::string body,
|
|
std::list<Header> headers) override;
|
|
};
|
|
|
|
} // namespace http_request
|
|
} // namespace esphome
|
|
|
|
#endif // USE_ESP_IDF
|