Vikram Dattu
718d2e5f19
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-20 17:49:11 +05:30
yuanjm
c764c59893
esp_http_client: Optimize code structure
2021-07-15 16:26:43 +08:00
Clickau
7188eaaebf
esp_http_client: fix truncated headers
...
Signed-off-by: yuanjm <yuanjianmin@espressif.com>
Merges https://github.com/espressif/esp-idf/pull/6370
2021-07-15 16:26:39 +08:00
Shubham Kulkarni
7ad3837244
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-28 05:01:11 +00:00
Shubham Kulkarni
90218b4e9b
Add options for esp_http_client and esp_websocket_client to support keepalive
2021-01-26 14:09:01 +08:00
Shubham Kulkarni
29feb17636
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-22 11:03:23 +05:30
Scott Shell
fad8a27cf7
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-12-14 14:02:50 +05:30
Shubham Kulkarni
b951b5adec
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-12-14 13:58:28 +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
4858184e19
esp_http_client: Add helper API to read larger data chunks from HTTP Stream
2020-03-23 10:45:39 +05:30
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
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
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
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
Jitin George
ab6dd36243
esp_http_client: Add support to disable validation of certificate's CN field
2019-06-25 23:41:33 +00: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
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
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
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
Tuan PM
738d49e02b
esp_http_client: add support OPPTIONS/SUB/UNSUB/NOTIFY methods
2018-09-07 03:06:09 +00: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
Jitin George
2122e5f83d
esp_http_client: Fix minor bugs in esp_http_client_write and esp_http_client_open APIs
...
`esp_http_client_write` API puts a constraint on the maximum length of the data that can be
written, which is equal to client handle buffer size, but the data to be sent can be more
than that, so in this case, this API has to be called multiple times.
In `esp_http_client_open` API, the return value of `transport_write` API, used to send HTTP
request, is not checked, and in rare cases, data written will be less than expected which will
cause a problem. So there are fixes for these minor issues in this MR.
2018-08-20 10:41:42 +00:00
Angus Gratton
f4b23d1505
Merge branch 'bugfix/http_client_null_auth_header' into 'master'
...
esp_http_client: Fixed exception on 401 without Www-Authenticate header
See merge request idf/esp-idf!2900
2018-08-10 13:44:55 +08:00
Ivan Grokhotkov
ee3f64cbad
Merge branch 'feature/http_client_head' into 'master'
...
esp_http_client: add head method support
See merge request idf/esp-idf!2895
2018-08-08 20:58:39 +08:00
Tuan PM
9aec055ac2
esp_http_client: Fixed exception on 401 without Www-Authenticate header
...
Closes https://github.com/espressif/esp-idf/issues/2246
2018-08-05 06:24:53 +00:00
Jitin George
2d79af3b13
esp_http_client: Add support for getting transport type
2018-08-03 16:47:08 +05:30