[http_request] Add esp-idf and rp2040 support (#3256)

* 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>
This commit is contained in:
Jesse Hills
2024-06-10 08:15:29 +12:00
committed by GitHub
parent 618102fe8c
commit 7b45498de6
31 changed files with 748 additions and 882 deletions
+2 -21
View File
@@ -1,7 +1,7 @@
# Tests for ESP32-C3 boards which use toolchain-riscv32-esp
---
wifi:
ssid: 'ssid'
ssid: "ssid"
network:
enable_ipv6: true
@@ -12,31 +12,12 @@ esp32:
type: arduino
esphome:
name: 'on-response-test'
on_boot:
then:
- http_request.send:
method: PUT
url: https://esphome.io
headers:
Content-Type: application/json
body: Some data
verify_ssl: false
on_response:
then:
- logger.log:
format: "Response status: %d"
args:
- status_code
name: test7
logger:
debug:
http_request:
useragent: esphome/tagreader
timeout: 10s
sensor:
- platform: adc
id: adc_sensor_p4