Merge branch 'ci/fix_failures_in_esp_http_client_example_v4.4' into 'release/v4.4'

CI: fix esp_http_client example failures in CI. Timeout was observed in the... (v4.4)

See merge request espressif/esp-idf!24966
This commit is contained in:
Mahavir Jain 2023-07-25 19:23:03 +08:00
commit 6069e3b992
6 changed files with 33 additions and 19 deletions

View File

@ -96,6 +96,12 @@ example_test_001B:
- ESP32
- Example_EthKitV1
example_test_httpbin:
extends: .example_test_esp32_template
tags:
- ESP32
- httpbin
example_test_001B_V3:
extends: .example_test_esp32_template
tags:

View File

@ -4,7 +4,7 @@ import re
import ttfw_idf
@ttfw_idf.idf_example_test(env_tag='Example_EthKitV1')
@ttfw_idf.idf_example_test(env_tag='httpbin')
def test_examples_protocol_esp_http_client(env, extra_data):
"""
steps: |

View File

@ -0,0 +1,7 @@
menu "Example Configuration"
config EXAMPLE_HTTP_ENDPOINT
string "Example HTTP Endpoint"
default "httpbin.org"
help
Target endpoint host-name for the example to use.
endmenu

View File

@ -44,7 +44,6 @@ extern const char howsmyssl_com_root_cert_pem_end[] asm("_binary_howsmyssl_com
extern const char postman_root_cert_pem_start[] asm("_binary_postman_root_cert_pem_start");
extern const char postman_root_cert_pem_end[] asm("_binary_postman_root_cert_pem_end");
esp_err_t _http_event_handler(esp_http_client_event_t *evt)
{
static char *output_buffer; // Buffer to store response of http request from event handler
@ -126,7 +125,7 @@ static void http_rest_with_url(void)
* If URL as well as host and path parameters are specified, values of host and path will be considered.
*/
esp_http_client_config_t config = {
.host = "httpbin.org",
.host = CONFIG_EXAMPLE_HTTP_ENDPOINT,
.path = "/get",
.query = "esp",
.event_handler = _http_event_handler,
@ -148,7 +147,7 @@ static void http_rest_with_url(void)
// POST
const char *post_data = "{\"field1\":\"value1\"}";
esp_http_client_set_url(client, "http://httpbin.org/post");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/post");
esp_http_client_set_method(client, HTTP_METHOD_POST);
esp_http_client_set_header(client, "Content-Type", "application/json");
esp_http_client_set_post_field(client, post_data, strlen(post_data));
@ -162,7 +161,7 @@ static void http_rest_with_url(void)
}
//PUT
esp_http_client_set_url(client, "http://httpbin.org/put");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/put");
esp_http_client_set_method(client, HTTP_METHOD_PUT);
err = esp_http_client_perform(client);
if (err == ESP_OK) {
@ -174,7 +173,7 @@ static void http_rest_with_url(void)
}
//PATCH
esp_http_client_set_url(client, "http://httpbin.org/patch");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/patch");
esp_http_client_set_method(client, HTTP_METHOD_PATCH);
esp_http_client_set_post_field(client, NULL, 0);
err = esp_http_client_perform(client);
@ -187,7 +186,7 @@ static void http_rest_with_url(void)
}
//DELETE
esp_http_client_set_url(client, "http://httpbin.org/delete");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/delete");
esp_http_client_set_method(client, HTTP_METHOD_DELETE);
err = esp_http_client_perform(client);
if (err == ESP_OK) {
@ -199,7 +198,7 @@ static void http_rest_with_url(void)
}
//HEAD
esp_http_client_set_url(client, "http://httpbin.org/get");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/get");
esp_http_client_set_method(client, HTTP_METHOD_HEAD);
err = esp_http_client_perform(client);
if (err == ESP_OK) {
@ -216,7 +215,7 @@ static void http_rest_with_url(void)
static void http_rest_with_hostname_path(void)
{
esp_http_client_config_t config = {
.host = "httpbin.org",
.host = CONFIG_EXAMPLE_HTTP_ENDPOINT,
.path = "/get",
.transport_type = HTTP_TRANSPORT_OVER_TCP,
.event_handler = _http_event_handler,
@ -310,7 +309,7 @@ static void http_auth_basic(void)
* To disable authorization retries, set max_authorization_retries to -1.
*/
esp_http_client_config_t config = {
.url = "http://user:passwd@httpbin.org/basic-auth/user/passwd",
.url = "http://user:passwd@"CONFIG_EXAMPLE_HTTP_ENDPOINT"/basic-auth/user/passwd",
.event_handler = _http_event_handler,
.auth_type = HTTP_AUTH_TYPE_BASIC,
.max_authorization_retries = -1,
@ -331,7 +330,7 @@ static void http_auth_basic(void)
static void http_auth_basic_redirect(void)
{
esp_http_client_config_t config = {
.url = "http://user:passwd@httpbin.org/basic-auth/user/passwd",
.url = "http://user:passwd@"CONFIG_EXAMPLE_HTTP_ENDPOINT"/basic-auth/user/passwd",
.event_handler = _http_event_handler,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -352,7 +351,7 @@ static void http_auth_basic_redirect(void)
static void http_auth_digest(void)
{
esp_http_client_config_t config = {
.url = "http://user:passwd@httpbin.org/digest-auth/auth/user/passwd/MD5/never",
.url = "http://user:passwd@"CONFIG_EXAMPLE_HTTP_ENDPOINT"/digest-auth/auth/user/passwd/MD5/never",
.event_handler = _http_event_handler,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -416,7 +415,7 @@ static void https_with_hostname_path(void)
static void http_relative_redirect(void)
{
esp_http_client_config_t config = {
.url = "http://httpbin.org/relative-redirect/3",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/relative-redirect/3",
.event_handler = _http_event_handler,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -435,7 +434,7 @@ static void http_relative_redirect(void)
static void http_absolute_redirect(void)
{
esp_http_client_config_t config = {
.url = "http://httpbin.org/absolute-redirect/3",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/absolute-redirect/3",
.event_handler = _http_event_handler,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -454,7 +453,7 @@ static void http_absolute_redirect(void)
static void http_redirect_to_https(void)
{
esp_http_client_config_t config = {
.url = "http://httpbin.org/redirect-to?url=https%3A%2F%2Fwww.howsmyssl.com",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/redirect-to?url=https://www.howsmyssl.com",
.event_handler = _http_event_handler,
.cert_pem = howsmyssl_com_root_cert_pem_start,
};
@ -475,7 +474,7 @@ static void http_redirect_to_https(void)
static void http_download_chunk(void)
{
esp_http_client_config_t config = {
.url = "http://httpbin.org/stream-bytes/8912",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/stream-bytes/8912",
.event_handler = _http_event_handler,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -499,7 +498,7 @@ static void http_perform_as_stream_reader(void)
return;
}
esp_http_client_config_t config = {
.url = "http://httpbin.org/get",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/get",
};
esp_http_client_handle_t client = esp_http_client_init(&config);
esp_err_t err;
@ -589,7 +588,7 @@ static void http_native_request(void)
char output_buffer[MAX_HTTP_OUTPUT_BUFFER] = {0}; // Buffer to store response of http request
int content_length = 0;
esp_http_client_config_t config = {
.url = "http://httpbin.org/get",
.url = "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/get",
};
esp_http_client_handle_t client = esp_http_client_init(&config);
@ -618,7 +617,7 @@ static void http_native_request(void)
// POST Request
const char *post_data = "{\"field1\":\"value1\"}";
esp_http_client_set_url(client, "http://httpbin.org/post");
esp_http_client_set_url(client, "http://"CONFIG_EXAMPLE_HTTP_ENDPOINT"/post");
esp_http_client_set_method(client, HTTP_METHOD_POST);
esp_http_client_set_header(client, "Content-Type", "application/json");
err = esp_http_client_open(client, strlen(post_data));

View File

@ -9,3 +9,4 @@ CONFIG_EXAMPLE_ETH_PHY_ADDR=1
CONFIG_EXAMPLE_CONNECT_IPV6=y
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH=y
CONFIG_EXAMPLE_HTTP_ENDPOINT="httpbin.espressif.cn"

View File

@ -11,3 +11,4 @@ CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
CONFIG_MBEDTLS_DYNAMIC_FREE_PEER_CERT=y
CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA=y
CONFIG_EXAMPLE_HTTP_ENDPOINT="httpbin.espressif.cn"