mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-22 21:58:29 +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>
41 lines
871 B
C++
41 lines
871 B
C++
#pragma once
|
|
|
|
#include "http_request.h"
|
|
|
|
#ifdef USE_ARDUINO
|
|
|
|
#if defined(USE_ESP32) || defined(USE_RP2040)
|
|
#include <HTTPClient.h>
|
|
#endif
|
|
#ifdef USE_ESP8266
|
|
#include <ESP8266HTTPClient.h>
|
|
#ifdef USE_HTTP_REQUEST_ESP8266_HTTPS
|
|
#include <WiFiClientSecure.h>
|
|
#endif
|
|
#endif
|
|
|
|
namespace esphome {
|
|
namespace http_request {
|
|
|
|
class HttpRequestArduino;
|
|
class HttpContainerArduino : public HttpContainer {
|
|
public:
|
|
int read(uint8_t *buf, size_t max_len) override;
|
|
void end() override;
|
|
|
|
protected:
|
|
friend class HttpRequestArduino;
|
|
HTTPClient client_{};
|
|
};
|
|
|
|
class HttpRequestArduino : 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_ARDUINO
|