Skip to content
File

Blob: firmware/platform/tests/http/esp_http_client.h

cpp42 lines
1#pragma once
2#include <stdbool.h>
3#include <stddef.h>
4 
5/* Minimal SDK surface used to exercise the actual HTTP adapter on the host. */
6typedef int esp_err_t;
7#define ESP_OK 0
8#define HTTP_METHOD_POST 1
9#define HTTP_EVENT_ON_DATA 2
10 
11typedef struct {
12 void *user_data;
13 int event_id;
14 int data_len;
15 void *data;
16} esp_http_client_event_t;
17 
18typedef struct {
19 const char *url;
20 esp_err_t (*crt_bundle_attach)(void *);
21 int timeout_ms;
22 esp_err_t (*event_handler)(esp_http_client_event_t *);
23 void *user_data;
24 int buffer_size;
25 int buffer_size_tx;
26 bool disable_auto_redirect;
27 bool keep_alive_enable;
28} esp_http_client_config_t;
29 
30typedef struct fake_http_client *esp_http_client_handle_t;
31esp_http_client_handle_t esp_http_client_init(const esp_http_client_config_t *config);
32esp_err_t esp_http_client_set_method(esp_http_client_handle_t client, int method);
33esp_err_t esp_http_client_set_header(esp_http_client_handle_t client, const char *name,
34 const char *value);
35esp_err_t esp_http_client_set_url(esp_http_client_handle_t client, const char *url);
36esp_err_t esp_http_client_set_post_field(esp_http_client_handle_t client, const char *body,
37 int length);
38esp_err_t esp_http_client_perform(esp_http_client_handle_t client);
39int esp_http_client_get_status_code(esp_http_client_handle_t client);
40esp_err_t esp_http_client_close(esp_http_client_handle_t client);
41esp_err_t esp_http_client_cleanup(esp_http_client_handle_t client);