Vikram Dattu
1c57dbcb3c
esp_http_client: Fixed handling of EAGAIN return
...
For https connection `ESP_TLS_ERR_SSL_WANT_READ` of esp_transport_read was getting treated as error.
Treated this as a timeout to fix connection abort issue!
Also handled http connection EAGAIN with `errno == EAGAIN` check.
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-09-07 14:33:49 +05:30
Jon Maloney
c8b7f7a5d3
esp_http_client: Support client key password for HTTPS connections.
...
Closes https://github.com/espressif/esp-idf/pull/7420
Closes https://github.com/espressif/esp-idf/issues/7418
Signed-off-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2021-08-25 18:27:31 +05:30
yuanjm
fc8668a739
esp_http_client: Fix disable CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS will build error
...
Closes https://github.com/espressif/esp-idf/issues/7361
2021-08-17 19:53:47 +08:00
yuanjm
981287900e
esp_http_client: Support HTTP_EVENT_ERROR event
...
Closes https://github.com/espressif/esp-idf/issues/7280
2021-08-02 14:33:50 +08:00
Alex Henrie
5242e048d4
Fix memory leak on error path in http_header_set_format
2021-07-23 17:48:45 +05:30
Alex Henrie
b07ad7a08d
Fix memory leak on error path in md5_printf
2021-07-23 17:48:45 +05:30
yuanjm
02367b44ef
esp_http_client: Fix when receive FIN, close the connection in internal.
...
Closes https://github.com/espressif/esp-idf/issues/7036
2021-07-23 12:16:17 +08:00
Shubham Kulkarni
3064487c20
esp_https_ota: Add check for HTTP error codes and corresponding error logs
...
Closes: https://github.com/espressif/esp-idf/issues/7058
2021-06-02 11:19:30 +00:00
Jan Brudny
967e057906
esp-tls, esp_http_client and esp_http_server: update copyright notice
2021-05-31 20:06:09 +08:00
0xFEEDC0DE64
0f3ad80a99
const corrections for esp_http_client_set_password()
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Closes: https://github.com/espressif/esp-idf/pull/6941
2021-05-10 13:03:09 +05:30
yuanjm
754ec7b278
esp_http_client: Add API to set http client timeout value
...
Closes https://github.com/espressif/esp-idf/issues/6984
2021-05-06 13:55:12 +08:00
Shubham Kulkarni
b148433fbd
esp_http_client_read: Add check for esp_http_client_is_complete_data_received before returning ESP_FAIL
...
Closes: https://github.com/espressif/esp-idf/issues/6772
2021-04-21 17:28:54 +05:30
Jörg Henne
19024671ea
esp_http_client: Make http_utils_get_string_between and http_utils_str_starts_with case insensitive
...
Closes: https://github.com/espressif/esp-idf/pull/6841
Closes: https://github.com/espressif/esp-idf/issues/6840
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-04-09 06:03:02 +00:00
Aditya Patwardhan
f66bdf1233
esp_http_client: Enable support of crt_bundle in esp_http_client
2021-04-07 05:31:21 +00:00
Shubham Kulkarni
1bacc13628
esp_http_client: Do not overwrite HTTP method in case of chunk request
...
Closes https://github.com/espressif/esp-idf/issues/6234
2021-03-31 10:53:36 +00:00
Shubham Kulkarni
4f6e0c1d27
esp_http_client: Add config option for HTTP Digest auth
2021-03-23 11:58:35 +05:30
0xFEEDC0DE64
a9c6fbe8d3
Added cert and key length options
...
Closes https://github.com/espressif/esp-idf/pull/6556
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
2021-03-23 11:58:35 +05:30
yuanjm
c79a907e4f
components: Remove repeated keep alive function by ssl layer function
...
In esp_http_client and esp_websocket_client components, esp_transport_tcp_set_keep_alive has been called and keep-alive config has been saved in ssl->cfg.keep_alive_cfg,
So no need to call esp_transport_ssl_set_keep_alive again.
2021-03-10 02:19:29 +00:00
yuanjm
bead3599ab
components: Support bind socket to specified interface in esp_http_client and esp_websocket_client component
2021-03-10 02:19:29 +00:00
yuanjm
e309a0ea6f
esp_http_client: Optimize code structure
2021-02-23 14:09:40 +08:00
Clickau
308c31e2f1
esp_http_client: fix truncated headers
...
Signed-off-by: yuanjm <yuanjianmin@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/6370
2021-02-23 09:59:23 +08:00
David Cermak
1921ae8973
tcp_transport: Reduce lwip dependecy for tcp_transport/http_client
2021-02-16 09:01:35 +01:00
aditi_lonkar
89bf9404a5
esp_http_client: Fix some memory leak issues by coverity static analyzer.
2021-01-25 03:37:47 +00:00
Shubham Kulkarni
b53e46a68e
Add options for esp_http_client and esp_websocket_client to support keepalive
2021-01-22 06:56:28 +00:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
David Čermák
e1d9abafa8
Merge branch 'bugfix/http_client_test_memcorupt' into 'master'
...
ci/test: Fix esp_http_client test not to use pointer after free
Closes IDFCI-350
See merge request espressif/esp-idf!11829
2021-01-05 15:15:32 +08:00
Shubham Kulkarni
6337ce9c3c
esp_http_client.c: Clear raw_len for response buffer after dispatching HTTP_EVENT_ON_FINISH event
...
Closes: https://github.com/espressif/esp-idf/issues/6146
2021-01-04 15:39:39 +05:30
David Cermak
2c50ec2cf9
ci/test: Fix esp_http_client test not to use pointer after free
2020-12-30 05:33:51 +01:00
Scott Shell
8c09fbf6f1
Make the UserAgent string in esp-http-client configurable
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/6044
2020-11-19 14:43:14 +05:30
Shubham Kulkarni
aceb38c326
http_auth.c: Fix crash when opaque field is not present in challenge string
...
Closes: https://github.com/espressif/esp-idf/issues/5888
2020-11-19 14:43:14 +05:30
Shubham Kulkarni
83f4ebf852
esp_http_client: Skip check for redirection counter if status code is success.
...
Set disable_auto_redirect in esp_http_client example to validate this condition in CI
2020-11-19 14:43:14 +05:30
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Aditya Patwardhan
fa42beac97
esp32/esp-tls: remove dependancy of esp_https_client and tcp_transport on mbedtls
2020-10-23 05:16:06 +00:00
Shubham Kulkarni
b06035443f
esp_http_client: Include port in host field
...
Closes: https://github.com/espressif/esp-idf/issues/3628
2020-09-30 15:39:42 +05:30
Shubham Kulkarni
661c18c578
esp_http_client.h: Fix return type in declaration of esp_http_client_flush_response.
...
Closes: https://github.com/espressif/esp-idf/pull/5845
2020-09-30 11:25:07 +05:30
boarchuz
bf942a60f3
esp_http_client: add flush response
...
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>
Merges: https://github.com/espressif/esp-idf/pull/5845
Closes: https://github.com/espressif/esp-idf/issues/5814
2020-09-11 15:25:24 +05:30
Shubham Kulkarni
bb8981903e
esp_http_client: Fix issue when response headers have empty value
...
Closes: https://github.com/espressif/esp-idf/issues/5553
2020-09-11 11:48:36 +05:30
Ivan Grokhotkov
b6467257b9
Merge branch 'feature/cmock_component' into 'master'
...
cmock as component replacing unity
See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
Shubham Kulkarni
58b386bca3
Fix issue when algotithm header is not present
2020-09-03 04:32:45 +00:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Chen Yi Qun
caaf62bdad
driver, http_client, web_socket, tcp_transport: remove __FILE__ from log messages
...
__FILE__ macro in the error messages adds full paths to the production binarys, remove __FILE__ from the ESP_LOGE.
Closes https://github.com/espressif/esp-idf/issues/5637
Merges https://github.com/espressif/esp-idf/pull/5638
2020-08-03 15:21:36 +08:00
morris
ab0537c079
esp_rom: extract common MD5 hash apis into esp_rom_md5.h
2020-07-21 17:01:28 +08:00
Shubham Kulkarni
3c7991813d
esp_http_client.h: Add error codes in HttpStatus_Code
...
esp_https_ota.c: Add checks for HTTP error codes
Closes: https://github.com/espressif/esp-idf/issues/5537
2020-07-08 04:03:26 +00:00
Shubham Kulkarni
1bbafb817d
esp_http_client: Set user configurable authorization retries
...
Closes: https://github.com/espressif/esp-idf/issues/5407
2020-06-16 20:48:28 +05:30
Shubham Kulkarni
bcfd2f07ab
esp_http_client: Add methods in esp_http_client_method_t required for WebDAV
...
Closes: https://github.com/espressif/esp-idf/issues/5402
2020-06-16 20:43:06 +05:30
Shubham Kulkarni
de5ee9cc80
esp_http_client: Add API to get chunk length in case of chunked responses
...
Closes: https://github.com/espressif/esp-idf/issues/5302
2020-06-05 09:57:32 +05:30
David Cermak
917192725a
http-client: fix memory allocation issues found by static analyser
2020-05-13 07:16:45 +02:00
Shubham Kulkarni
890f541edf
esp_http_client: Add API to get URL from client
...
Closes: https://github.com/espressif/esp-idf/issues/5115
2020-05-07 14:20:28 +05:30
Shubham Kulkarni
4c166085fb
esp_http_client.c: In esp_http_client_read, add fix to return (-1) if esp_transport_read fails
2020-04-27 05:17:04 +00:00
Shubham Kulkarni
471b40b0f0
http_header.c: Add error print in http_header_generate_string if buffer size is less than required size
...
Closes: https://github.com/espressif/esp-idf/issues/5028
2020-04-06 13:22:08 +05:30
Angus Gratton
62426a6c90
Merge branch 'refactor/use_new_component_registration_functions' into 'master'
...
CMake: Use new component registration function
See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Shubham Kulkarni
4858184e19
esp_http_client: Add helper API to read larger data chunks from HTTP Stream
2020-03-23 10:45:39 +05:30
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Shubham Kulkarni
032a041395
Bugfix for failing OTA example
...
example_test.py is added to test advanced_https_ota_example and native ota_example.
Closes https://github.com/espressif/esp-idf/issues/4394
2019-12-31 14:18:16 +05:30
Axel Lin
489c815eb8
esp_http_client: add esp_http_client_set_authtype function
...
Since currently there are APIs to set url/username/password, it would be
good to also allow setting authtype.
Link: https://github.com/espressif/esp-idf/issues/4444
Closes https://github.com/espressif/esp-idf/pull/4454
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Axel Lin
6fdc8d7f92
esp_http_client: fix memory leak in esp_http_client_set_username/password
...
Fix memory in case username/password was set before calling
esp_http_client_set_username/password.
Closes https://github.com/espressif/esp-idf/issues/4444
Fixes: 9fd16c6a5f
("fixes : set_url discards username and password")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Aidan Cyr
5f6fd238b6
fix: esp_http_client and esp_https_ota can follow 307 Redirects
...
Closes https://github.com/espressif/esp-idf/pull/4431
2019-12-09 13:33:44 +05:30
David Cermak
b834c99148
examples: modify other examples and tests to use esp_netif instead of tcpip_adapter
2019-11-13 12:36:25 +01:00
David Cermak
1d904fdd81
http_client: added comments to http header generation function
2019-11-05 09:53:29 +01:00
David Cermak
9c0844da3f
http_client: possible buffer overflow fixed when determining last header item to be written
...
closes IDF-694
2019-11-05 09:44:06 +01:00
Mahavir Jain
4dcffdb0a9
esp_http_client: fix issue where http parser was not invoking message_complete
callback
...
https://github.com/espressif/esp-idf/issues/2625
https://github.com/espressif/esp-idf/issues/4209
2019-11-04 12:15:19 +05:30
ganeshlandge
9fd16c6a5f
fixes : set_url discards username and password
2019-10-04 10:42:43 +05:30
Angus Gratton
b23718995a
Merge branch 'bugfix/strict_prototypes' into 'master'
...
Enable strict prototypes checks
Closes IDFGH-757
See merge request espressif/esp-idf!4546
2019-08-05 09:38:39 +08:00
Hrudaynath Dhabe
d4091f7cda
esp_http_client: Add support to check the binary length of the recieved stream and compare it with the size mentioned in the header.
...
While downloading OTA firmware, if their is a Origin Respnse Timeout or the binary is only partially downloaded, OTA failure is observed. Checking binary size can also be helpful for simple http client applications.
Closes https://github.com/espressif/esp-idf/issues/3004
2019-08-02 19:18:44 +08:00
Anton Maklakov
afbaf74007
tools: Mass fixing of empty prototypes (for -Wstrict-prototypes)
2019-08-01 16:28:56 +07:00
Angus Gratton
c25fe765a9
Merge branch 'feature/esp_http_client_tx_buf_size' into 'master'
...
esp_http_client: separate buffer_size config option for transmit
See merge request espressif/esp-idf!5337
2019-07-08 15:15:14 +08:00
Oleg Antonyan
bd4591b053
esp_http_client: separate buffer_size config option for transmit
...
Merges https://github.com/espressif/esp-idf/pull/3528
Signed-off-by: Jitin George <jitin@espressif.com>
2019-07-05 13:04:35 +00:00
David Cermak
a001eb39bf
http_client: disconnect event to read last occurred error in esp-tls
2019-07-04 20:55:10 +02:00
David Cermak
587739391c
esp-tls: extending error handle to contain error descriptors with last mbedtls failure and latest certificate verification result flags, reworked tcp_transport to use this error handle
2019-07-04 20:55:10 +02:00
Jitin George
ab6dd36243
esp_http_client: Add support to disable validation of certificate's CN field
2019-06-25 23:41:33 +00:00
Renz Christian Bagaporo
9eccd7c082
components: use new component registration api
2019-06-21 19:53:29 +08:00
Angus Gratton
b6a24bbd25
Merge branch 'feature/esp-https-ota-basic-auth' into 'master'
...
esp_https_ota: component refactoring, bugfixes and feature additions
See merge request idf/esp-idf!4245
2019-05-10 12:39:14 +08:00
Jitin George
4e6d39f009
esp-http-client: Fix incorrect event name HTTP_EVENT_HEADER_SENT
...
Closes https://github.com/espressif/esp-idf/issues/3095
2019-05-02 16:15:59 +05:30
Jitin George
86e1fc564e
esp_http_client: Add API for adding authorization info
...
There was existing support for adding authorization info in esp_http_client
but it was functional only while using `esp_http_client_perform` API. This commit just moves
existing authorization addition logic into publicly exposed API.
2019-04-29 11:44:37 +05:30
Vikram Dattu
e0d796bf33
Add a esp_http_client_set_redirection
function When using direct operations instead of esp_http_client_perform
, we need a way to set redirection URL when we get 30x response codes. Added the function for the same. User can now check status code and call esp_http_client_set_redirection
function to enable redirection. Related change in adf: https://gitlab.espressif.cn:6688/adf/esp-adf-internal/merge_requests/187
...
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-23 19:29:49 +05:30
Roland Dobai
74dd9b4f5f
esp_http_client: fix CI issues & return value
2019-04-16 09:03:14 +02:00
Nguyễn Hồng Quân
4a6c5032f4
Fix: Lost username when setting new URL with a path.
...
Closes https://github.com/espressif/esp-idf/pull/3250
2019-04-16 08:58:36 +02:00
Vikram Dattu
a875505546
Fix url redirection issue.
...
Operation:
In `esp_http_client_set_url`, we check for if old_host is same as new_host.
Delete and open new connection if host is different.
Issue:
We just pointed `client->connection_info.host` to `old_host` and reassigned it.
This made old_host and new_host always point to same location and hence, using old_host with new request.
Fix:
Made a separate copy for old_host using strdup.
Closes https://github.com/espressif/esp-idf/issues/2631
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-10 05:40:16 +00:00
morris
c159984264
separate rom from esp32 component to esp_rom
...
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Jitin George
9b0e6e3b49
esp_http_client: Fix header sent event bug
2019-03-14 14:31:28 +05:30
Mahavir Jain
27e00cf7aa
esp_http_client: add support for using certs from global ca store
...
Closes https://github.com/espressif/esp-idf/issues/3062
2019-02-27 14:19:06 +05:30
Roland Dobai
37126d3451
Correct Kconfigs according to the coding style
2019-01-29 13:37:01 +01:00
Damian Reboredo
41e71c2f53
fix esp_http_client_open
...
client->post_len was not bein set therefore content-length was 0
Closes https://github.com/espressif/esp-idf/pull/2917
2019-01-23 16:47:23 +05:30
Anders Kalør
8b72dc9fb0
esp_http_client: Add support for mutual authentication
...
Closes https://github.com/espressif/esp-idf/pull/2688
2019-01-23 16:47:23 +05:30
Jitin George
4a667ee12c
esp_http_client: Fix config member path's incorrect setting issue
2019-01-21 19:08:24 +08:00
Jitin George
e2ae69f6fb
Minor Bugfixes in esp_http_client, tcp_transport and simple_ota_example
2019-01-07 16:33:41 +08:00
Jiang Jiang Jian
ef4a87d62e
Merge branch 'bugfix/http_literal_caseinsensitive' into 'master'
...
Compare case-insensitive URI schemes
See merge request idf/esp-idf!3558
2018-11-12 17:03:06 +08:00
Damian Reboredo
049c9f7bea
esp_http_client: Fix infinite loop on esp_http_client_fetch_headers
...
error must also be returned if esp_tls_conn_read return 0 because socket was closed
Merges https://github.com/espressif/esp-idf/pull/2534
2018-11-08 15:57:11 +05:30
Jitin George
3551b84c3a
esp_http_client: Fix crash in async mode
...
Closes https://github.com/espressif/esp-idf/issues/2624
2018-10-30 09:58:57 +00:00
Anton Maklakov
6e6f07ba59
http: Compare case-insensitive URI schemes like as in other places
2018-10-25 21:03:44 +08:00
David Cermak
e02225cc07
tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace
2018-10-02 14:16:48 +02:00
David Cermak
40c6cbb3ab
tcp_transport: renamed transport related header files to esp_ prefixed to avoid collisions
...
tcp_transport component used public header files such as 'transport.h', etc. which are too generic and might collide with user or user libraries headers
This change closes #2417
2018-10-02 14:15:00 +02:00
Jitin George
5309ca04d1
esp_http_client: Add support for non-blocking feature in esp_http_client_perform() API
...
Four internal APIs `esp_http_client_connect()`, `http_client_prepare_first_line()`, `esp_http_client_request_send()` and
`esp_http_client_send_post_data()` API have been added for perfoming connection establishment (sync as well as async),
preparing first line, sending request and sending post data respectively.
In `transport_ssl`, `ssl_connect_async()` API has been added for establishing asynchronous connection.
2018-09-24 05:42:28 +00:00
David Cermak
23345d2021
MQTT: Integrate esp-mqtt library into idf
...
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2018-09-12 08:00:59 +02:00
Renz Christian Bagaporo
d9939cedd9
cmake: make main a component again
2018-09-11 09:44:12 +08:00
Angus Gratton
c5265b12dd
Merge branch 'feature/http_client_custom_method' into 'master'
...
esp_http_client: add support OPPTIONS/SUB/UNSUB/NOTIFY methods
See merge request idf/esp-idf!3214
2018-09-10 14:44:27 +08:00
Tuan PM
738d49e02b
esp_http_client: add support OPPTIONS/SUB/UNSUB/NOTIFY methods
2018-09-07 03:06:09 +00:00
Angus Gratton
a9c4ed7139
Merge branch 'master' into feature/cmake
2018-08-30 18:51:01 +08:00
Ivan Grokhotkov
9ab70d5379
Merge branch 'bugfix/http_write_data' into 'master'
...
esp_http_client: Fix minor bugs in `esp_http_client_write` and `esp_http_client_open` APIs
See merge request idf/esp-idf!2924
2018-08-22 16:49:29 +08:00
Jitin George
4d6dcb71ce
esp_http_client: Add esp-tls APIs in SSL transport of esp_http_client
...
esp-tls APIs and SSL transport layer of esp_http_client try to
achieve similar things, so this is an effort to remove code redundancy.
2018-08-21 09:07:07 +00:00