Commit Graph

63 Commits

Author SHA1 Message Date
aditi_lonkar
426e0f3948 esp_http_client: Fix some memory leak issues by coverity static analyzer. 2021-03-23 12:00:01 +05:30
Shubham Kulkarni
985de73e6d Add options for esp_http_client and esp_websocket_client to support keepalive 2021-01-25 21:01:30 +08:00
Shubham Kulkarni
d0a4d91838 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:04:11 +05:30
Scott Shell
52b069bd03 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:42:17 +05:30
Shubham Kulkarni
670144ed7c http_auth.c: Fix crash when opaque field is not present in challenge string
Closes: https://github.com/espressif/esp-idf/issues/5888
2020-12-14 14:42:08 +05:30
Shubham Kulkarni
3194bba14d 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 14:41:54 +05:30
Shubham Kulkarni
a9591d1c1f esp_http_client.c: In esp_http_client_read, add fix to return (-1) if esp_transport_read fails 2020-07-08 09:57:42 +05:30
Shubham Kulkarni
8785ac4c2a 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
2020-03-18 08:19:56 +00:00
Mahavir Jain
6627ca40da 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
2020-03-18 08:19:56 +00:00
Hrudaynath Dhabe
be08f6f2bb 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
2020-03-18 08:19:56 +00:00
David Cermak
3ba8ae7a62 http_client: added comments to http header generation function 2019-11-12 09:59:50 +01:00
David Cermak
2c27c55679 http_client: possible buffer overflow fixed when determining last header item to be written
closes IDF-694
2019-11-12 09:59:50 +01:00
ganeshlandge
7566bfb548 fixes : set_url discards username and password 2019-10-12 10:50:11 +05:30
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
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
ff2404a272 Merge branch 'master' into feature/cmake 2018-08-16 17:14:17 +10:00