VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions
esp_http_client.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#include "esp_err.h"

Go to the source code of this file.

Data Structures

struct  esp_http_client_event
 
struct  esp_http_client_redirect_event_data
 
struct  esp_http_client_config_t
 

Macros

#define DEFAULT_HTTP_BUF_SIZE   (512)
 
#define ESP_ERR_HTTP_BASE   (0x7000)
 
#define ESP_ERR_HTTP_MAX_REDIRECT   (ESP_ERR_HTTP_BASE + 1)
 
#define ESP_ERR_HTTP_CONNECT   (ESP_ERR_HTTP_BASE + 2)
 
#define ESP_ERR_HTTP_WRITE_DATA   (ESP_ERR_HTTP_BASE + 3)
 
#define ESP_ERR_HTTP_FETCH_HEADER   (ESP_ERR_HTTP_BASE + 4)
 
#define ESP_ERR_HTTP_INVALID_TRANSPORT   (ESP_ERR_HTTP_BASE + 5)
 
#define ESP_ERR_HTTP_CONNECTING   (ESP_ERR_HTTP_BASE + 6)
 
#define ESP_ERR_HTTP_EAGAIN   (ESP_ERR_HTTP_BASE + 7)
 
#define ESP_ERR_HTTP_CONNECTION_CLOSED   (ESP_ERR_HTTP_BASE + 8)
 
#define ESP_ERR_HTTP_NOT_MODIFIED   (ESP_ERR_HTTP_BASE + 9)
 
#define ESP_ERR_HTTP_RANGE_NOT_SATISFIABLE   (ESP_ERR_HTTP_BASE + 10)
 
#define ESP_ERR_HTTP_READ_TIMEOUT   (ESP_ERR_HTTP_BASE + 11)
 
#define ESP_ERR_HTTP_INCOMPLETE_DATA   (ESP_ERR_HTTP_BASE + 12)
 

Typedefs

typedef struct esp_http_clientesp_http_client_handle_t
 
typedef struct esp_http_client_eventesp_http_client_event_handle_t
 
typedef struct esp_http_client_event esp_http_client_event_t
 
typedef struct esp_http_client_redirect_event_data esp_http_client_redirect_event_data_t
 
typedef esp_err_t(* http_event_handle_cb) (esp_http_client_event_t *evt)
 

Enumerations

enum  esp_http_client_event_id_t {
  HTTP_EVENT_ERROR = 0 ,
  HTTP_EVENT_ON_CONNECTED ,
  HTTP_EVENT_HEADERS_SENT ,
  HTTP_EVENT_HEADER_SENT = HTTP_EVENT_HEADERS_SENT ,
  HTTP_EVENT_ON_HEADER ,
  HTTP_EVENT_ON_HEADERS_COMPLETE ,
  HTTP_EVENT_ON_STATUS_CODE ,
  HTTP_EVENT_ON_DATA ,
  HTTP_EVENT_ON_FINISH ,
  HTTP_EVENT_DISCONNECTED ,
  HTTP_EVENT_REDIRECT
}
 
enum  esp_http_client_transport_t {
  HTTP_TRANSPORT_UNKNOWN = 0x0 ,
  HTTP_TRANSPORT_OVER_TCP ,
  HTTP_TRANSPORT_OVER_SSL
}
 
enum  esp_http_client_proto_ver_t {
  ESP_HTTP_CLIENT_TLS_VER_ANY = 0 ,
  ESP_HTTP_CLIENT_TLS_VER_TLS_1_2 = 0x1 ,
  ESP_HTTP_CLIENT_TLS_VER_TLS_1_3 = 0x2 ,
  ESP_HTTP_CLIENT_TLS_VER_MAX
}
 
enum  esp_http_client_method_t {
  HTTP_METHOD_GET = 0 ,
  HTTP_METHOD_POST ,
  HTTP_METHOD_PUT ,
  HTTP_METHOD_PATCH ,
  HTTP_METHOD_DELETE ,
  HTTP_METHOD_HEAD ,
  HTTP_METHOD_NOTIFY ,
  HTTP_METHOD_SUBSCRIBE ,
  HTTP_METHOD_UNSUBSCRIBE ,
  HTTP_METHOD_OPTIONS ,
  HTTP_METHOD_COPY ,
  HTTP_METHOD_MOVE ,
  HTTP_METHOD_LOCK ,
  HTTP_METHOD_UNLOCK ,
  HTTP_METHOD_PROPFIND ,
  HTTP_METHOD_PROPPATCH ,
  HTTP_METHOD_MKCOL ,
  HTTP_METHOD_REPORT ,
  HTTP_METHOD_MAX
}
 
enum  esp_http_client_auth_type_t {
  HTTP_AUTH_TYPE_NONE = 0 ,
  HTTP_AUTH_TYPE_BASIC ,
  HTTP_AUTH_TYPE_DIGEST
}
 
enum  esp_http_client_addr_type_t {
  HTTP_ADDR_TYPE_UNSPEC = 0 ,
  HTTP_ADDR_TYPE_INET = 2 ,
  HTTP_ADDR_TYPE_INET6 = 10
}
 
enum  esp_http_state_t {
  HTTP_STATE_UNINIT = 0 ,
  HTTP_STATE_INIT ,
  HTTP_STATE_CONNECTING ,
  HTTP_STATE_CONNECTED ,
  HTTP_STATE_REQ_COMPLETE_HEADER ,
  HTTP_STATE_REQ_COMPLETE_DATA ,
  HTTP_STATE_RES_COMPLETE_HEADER ,
  HTTP_STATE_RES_ON_DATA_START ,
  HTTP_STATE_RES_COMPLETE_DATA ,
  HTTP_STATE_CLOSE
}
 
enum  HttpStatus_Code {
  HttpStatus_Ok = 200 ,
  HttpStatus_PartialContent = 206 ,
  HttpStatus_MultipleChoices = 300 ,
  HttpStatus_MovedPermanently = 301 ,
  HttpStatus_Found = 302 ,
  HttpStatus_SeeOther = 303 ,
  HttpStatus_NotModified = 304 ,
  HttpStatus_TemporaryRedirect = 307 ,
  HttpStatus_PermanentRedirect = 308 ,
  HttpStatus_BadRequest = 400 ,
  HttpStatus_Unauthorized = 401 ,
  HttpStatus_Forbidden = 403 ,
  HttpStatus_NotFound = 404 ,
  HttpStatus_RangeNotSatisfiable = 416 ,
  HttpStatus_InternalError = 500
}
 

Functions

esp_http_client_handle_t esp_http_client_init (const esp_http_client_config_t *config)
 
esp_err_t esp_http_client_cleanup (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_perform (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_prepare (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_open (esp_http_client_handle_t client, int write_len)
 
int esp_http_client_write (esp_http_client_handle_t client, const char *buffer, int len)
 
esp_err_t esp_http_client_request_send (esp_http_client_handle_t client, int write_len)
 
int esp_http_client_chunk_write_begin (esp_http_client_handle_t client, const int len)
 
int esp_http_client_chunk_write_end (esp_http_client_handle_t client, bool last_chunk)
 
int64_t esp_http_client_fetch_headers (esp_http_client_handle_t client)
 
int esp_http_client_read (esp_http_client_handle_t client, char *buffer, int len)
 
int esp_http_client_read_response (esp_http_client_handle_t client, char *buffer, int len)
 
esp_err_t esp_http_client_flush_response (esp_http_client_handle_t client, int *len)
 
esp_err_t esp_http_client_close (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_clear_response_buffer (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_cancel_request (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_set_url (esp_http_client_handle_t client, const char *url)
 
esp_err_t esp_http_client_get_url (esp_http_client_handle_t client, char *url, const int len)
 
esp_err_t esp_http_client_set_method (esp_http_client_handle_t client, esp_http_client_method_t method)
 
esp_err_t esp_http_client_set_header (esp_http_client_handle_t client, const char *key, const char *value)
 
esp_err_t esp_http_client_get_header (esp_http_client_handle_t client, const char *key, char **value)
 
esp_err_t esp_http_client_delete_header (esp_http_client_handle_t client, const char *key)
 
esp_err_t esp_http_client_delete_all_headers (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_get_response_header (esp_http_client_handle_t client, const char *key, char **value)
 
esp_err_t esp_http_client_set_post_field (esp_http_client_handle_t client, const char *data, int len)
 
int esp_http_client_get_post_field (esp_http_client_handle_t client, char **data)
 
esp_err_t esp_http_client_set_username (esp_http_client_handle_t client, const char *username)
 
esp_err_t esp_http_client_get_username (esp_http_client_handle_t client, char **value)
 
esp_err_t esp_http_client_set_password (esp_http_client_handle_t client, const char *password)
 
esp_err_t esp_http_client_get_password (esp_http_client_handle_t client, char **value)
 
esp_err_t esp_http_client_set_authtype (esp_http_client_handle_t client, esp_http_client_auth_type_t auth_type)
 
esp_err_t esp_http_client_add_auth (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_set_auth_data (esp_http_client_handle_t client, const char *auth_data, int len)
 
esp_err_t esp_http_client_set_redirection (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_reset_redirect_counter (esp_http_client_handle_t client)
 
int esp_http_client_get_status_code (esp_http_client_handle_t client)
 
int64_t esp_http_client_get_content_length (esp_http_client_handle_t client)
 
int64_t esp_http_client_get_content_range (esp_http_client_handle_t client)
 
bool esp_http_client_is_chunked_response (esp_http_client_handle_t client)
 
bool esp_http_client_is_complete_data_received (esp_http_client_handle_t client)
 
bool esp_http_client_is_persistent_connection (esp_http_client_handle_t client)
 
esp_http_client_transport_t esp_http_client_get_transport_type (esp_http_client_handle_t client)
 
esp_http_state_t esp_http_client_get_state (esp_http_client_handle_t client)
 
int esp_http_client_get_socket (esp_http_client_handle_t client)
 
int esp_http_client_get_errno (esp_http_client_handle_t client)
 
esp_err_t esp_http_client_get_chunk_length (esp_http_client_handle_t client, int *len)
 
esp_err_t esp_http_client_get_and_clear_last_tls_error (esp_http_client_handle_t client, int *esp_tls_error_code, int *esp_tls_flags)
 
esp_err_t esp_http_client_set_timeout_ms (esp_http_client_handle_t client, int timeout_ms)
 
esp_err_t esp_http_client_set_user_data (esp_http_client_handle_t client, void *data)
 
esp_err_t esp_http_client_get_user_data (esp_http_client_handle_t client, void **data)
 

Macro Definition Documentation

◆ DEFAULT_HTTP_BUF_SIZE

#define DEFAULT_HTTP_BUF_SIZE   (512)

◆ ESP_ERR_HTTP_BASE

#define ESP_ERR_HTTP_BASE   (0x7000)

◆ ESP_ERR_HTTP_MAX_REDIRECT

#define ESP_ERR_HTTP_MAX_REDIRECT   (ESP_ERR_HTTP_BASE + 1)

◆ ESP_ERR_HTTP_CONNECT

#define ESP_ERR_HTTP_CONNECT   (ESP_ERR_HTTP_BASE + 2)

◆ ESP_ERR_HTTP_WRITE_DATA

#define ESP_ERR_HTTP_WRITE_DATA   (ESP_ERR_HTTP_BASE + 3)

◆ ESP_ERR_HTTP_FETCH_HEADER

#define ESP_ERR_HTTP_FETCH_HEADER   (ESP_ERR_HTTP_BASE + 4)

◆ ESP_ERR_HTTP_INVALID_TRANSPORT

#define ESP_ERR_HTTP_INVALID_TRANSPORT   (ESP_ERR_HTTP_BASE + 5)

◆ ESP_ERR_HTTP_CONNECTING

#define ESP_ERR_HTTP_CONNECTING   (ESP_ERR_HTTP_BASE + 6)

◆ ESP_ERR_HTTP_EAGAIN

#define ESP_ERR_HTTP_EAGAIN   (ESP_ERR_HTTP_BASE + 7)

◆ ESP_ERR_HTTP_CONNECTION_CLOSED

#define ESP_ERR_HTTP_CONNECTION_CLOSED   (ESP_ERR_HTTP_BASE + 8)

◆ ESP_ERR_HTTP_NOT_MODIFIED

#define ESP_ERR_HTTP_NOT_MODIFIED   (ESP_ERR_HTTP_BASE + 9)

◆ ESP_ERR_HTTP_RANGE_NOT_SATISFIABLE

#define ESP_ERR_HTTP_RANGE_NOT_SATISFIABLE   (ESP_ERR_HTTP_BASE + 10)

◆ ESP_ERR_HTTP_READ_TIMEOUT

#define ESP_ERR_HTTP_READ_TIMEOUT   (ESP_ERR_HTTP_BASE + 11)

◆ ESP_ERR_HTTP_INCOMPLETE_DATA

#define ESP_ERR_HTTP_INCOMPLETE_DATA   (ESP_ERR_HTTP_BASE + 12)

Typedef Documentation

◆ esp_http_client_handle_t

◆ esp_http_client_event_handle_t

◆ esp_http_client_event_t

◆ esp_http_client_redirect_event_data_t

◆ http_event_handle_cb

typedef esp_err_t(* http_event_handle_cb) (esp_http_client_event_t *evt)

Enumeration Type Documentation

◆ esp_http_client_event_id_t

Enumerator
HTTP_EVENT_ERROR 
HTTP_EVENT_ON_CONNECTED 
HTTP_EVENT_HEADERS_SENT 
HTTP_EVENT_HEADER_SENT 
HTTP_EVENT_ON_HEADER 
HTTP_EVENT_ON_HEADERS_COMPLETE 
HTTP_EVENT_ON_STATUS_CODE 
HTTP_EVENT_ON_DATA 
HTTP_EVENT_ON_FINISH 
HTTP_EVENT_DISCONNECTED 
HTTP_EVENT_REDIRECT 

◆ esp_http_client_transport_t

Enumerator
HTTP_TRANSPORT_UNKNOWN 
HTTP_TRANSPORT_OVER_TCP 
HTTP_TRANSPORT_OVER_SSL 

◆ esp_http_client_proto_ver_t

Enumerator
ESP_HTTP_CLIENT_TLS_VER_ANY 
ESP_HTTP_CLIENT_TLS_VER_TLS_1_2 
ESP_HTTP_CLIENT_TLS_VER_TLS_1_3 
ESP_HTTP_CLIENT_TLS_VER_MAX 

◆ esp_http_client_method_t

Enumerator
HTTP_METHOD_GET 
HTTP_METHOD_POST 
HTTP_METHOD_PUT 
HTTP_METHOD_PATCH 
HTTP_METHOD_DELETE 
HTTP_METHOD_HEAD 
HTTP_METHOD_NOTIFY 
HTTP_METHOD_SUBSCRIBE 
HTTP_METHOD_UNSUBSCRIBE 
HTTP_METHOD_OPTIONS 
HTTP_METHOD_COPY 
HTTP_METHOD_MOVE 
HTTP_METHOD_LOCK 
HTTP_METHOD_UNLOCK 
HTTP_METHOD_PROPFIND 
HTTP_METHOD_PROPPATCH 
HTTP_METHOD_MKCOL 
HTTP_METHOD_REPORT 
HTTP_METHOD_MAX 

◆ esp_http_client_auth_type_t

Enumerator
HTTP_AUTH_TYPE_NONE 
HTTP_AUTH_TYPE_BASIC 
HTTP_AUTH_TYPE_DIGEST 

◆ esp_http_client_addr_type_t

Enumerator
HTTP_ADDR_TYPE_UNSPEC 
HTTP_ADDR_TYPE_INET 
HTTP_ADDR_TYPE_INET6 

◆ esp_http_state_t

Enumerator
HTTP_STATE_UNINIT 
HTTP_STATE_INIT 
HTTP_STATE_CONNECTING 
HTTP_STATE_CONNECTED 
HTTP_STATE_REQ_COMPLETE_HEADER 
HTTP_STATE_REQ_COMPLETE_DATA 
HTTP_STATE_RES_COMPLETE_HEADER 
HTTP_STATE_RES_ON_DATA_START 
HTTP_STATE_RES_COMPLETE_DATA 
HTTP_STATE_CLOSE 

◆ HttpStatus_Code

Enumerator
HttpStatus_Ok 
HttpStatus_PartialContent 
HttpStatus_MultipleChoices 
HttpStatus_MovedPermanently 
HttpStatus_Found 
HttpStatus_SeeOther 
HttpStatus_NotModified 
HttpStatus_TemporaryRedirect 
HttpStatus_PermanentRedirect 
HttpStatus_BadRequest 
HttpStatus_Unauthorized 
HttpStatus_Forbidden 
HttpStatus_NotFound 
HttpStatus_RangeNotSatisfiable 
HttpStatus_InternalError 

Function Documentation

◆ esp_http_client_init()

esp_http_client_handle_t esp_http_client_init ( const esp_http_client_config_t config)
extern

◆ esp_http_client_cleanup()

esp_err_t esp_http_client_cleanup ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_perform()

esp_err_t esp_http_client_perform ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_prepare()

esp_err_t esp_http_client_prepare ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_open()

esp_err_t esp_http_client_open ( esp_http_client_handle_t  client,
int  write_len 
)
extern

◆ esp_http_client_write()

int esp_http_client_write ( esp_http_client_handle_t  client,
const char *  buffer,
int  len 
)
extern

◆ esp_http_client_request_send()

esp_err_t esp_http_client_request_send ( esp_http_client_handle_t  client,
int  write_len 
)
extern

◆ esp_http_client_chunk_write_begin()

int esp_http_client_chunk_write_begin ( esp_http_client_handle_t  client,
const int  len 
)
extern

◆ esp_http_client_chunk_write_end()

int esp_http_client_chunk_write_end ( esp_http_client_handle_t  client,
bool  last_chunk 
)
extern

◆ esp_http_client_fetch_headers()

int64_t esp_http_client_fetch_headers ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_read()

int esp_http_client_read ( esp_http_client_handle_t  client,
char *  buffer,
int  len 
)
extern

◆ esp_http_client_read_response()

int esp_http_client_read_response ( esp_http_client_handle_t  client,
char *  buffer,
int  len 
)
extern

◆ esp_http_client_flush_response()

esp_err_t esp_http_client_flush_response ( esp_http_client_handle_t  client,
int *  len 
)
extern

◆ esp_http_client_close()

esp_err_t esp_http_client_close ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_clear_response_buffer()

esp_err_t esp_http_client_clear_response_buffer ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_cancel_request()

esp_err_t esp_http_client_cancel_request ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_set_url()

esp_err_t esp_http_client_set_url ( esp_http_client_handle_t  client,
const char *  url 
)
extern

◆ esp_http_client_get_url()

esp_err_t esp_http_client_get_url ( esp_http_client_handle_t  client,
char *  url,
const int  len 
)
extern

◆ esp_http_client_set_method()

esp_err_t esp_http_client_set_method ( esp_http_client_handle_t  client,
esp_http_client_method_t  method 
)
extern

◆ esp_http_client_set_header()

esp_err_t esp_http_client_set_header ( esp_http_client_handle_t  client,
const char *  key,
const char *  value 
)
extern

◆ esp_http_client_get_header()

esp_err_t esp_http_client_get_header ( esp_http_client_handle_t  client,
const char *  key,
char **  value 
)
extern

◆ esp_http_client_delete_header()

esp_err_t esp_http_client_delete_header ( esp_http_client_handle_t  client,
const char *  key 
)
extern

◆ esp_http_client_delete_all_headers()

esp_err_t esp_http_client_delete_all_headers ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_response_header()

esp_err_t esp_http_client_get_response_header ( esp_http_client_handle_t  client,
const char *  key,
char **  value 
)
extern

◆ esp_http_client_set_post_field()

esp_err_t esp_http_client_set_post_field ( esp_http_client_handle_t  client,
const char *  data,
int  len 
)
extern

◆ esp_http_client_get_post_field()

int esp_http_client_get_post_field ( esp_http_client_handle_t  client,
char **  data 
)
extern

◆ esp_http_client_set_username()

esp_err_t esp_http_client_set_username ( esp_http_client_handle_t  client,
const char *  username 
)
extern

◆ esp_http_client_get_username()

esp_err_t esp_http_client_get_username ( esp_http_client_handle_t  client,
char **  value 
)
extern

◆ esp_http_client_set_password()

esp_err_t esp_http_client_set_password ( esp_http_client_handle_t  client,
const char *  password 
)
extern

◆ esp_http_client_get_password()

esp_err_t esp_http_client_get_password ( esp_http_client_handle_t  client,
char **  value 
)
extern

◆ esp_http_client_set_authtype()

esp_err_t esp_http_client_set_authtype ( esp_http_client_handle_t  client,
esp_http_client_auth_type_t  auth_type 
)
extern

◆ esp_http_client_add_auth()

esp_err_t esp_http_client_add_auth ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_set_auth_data()

esp_err_t esp_http_client_set_auth_data ( esp_http_client_handle_t  client,
const char *  auth_data,
int  len 
)
extern

◆ esp_http_client_set_redirection()

esp_err_t esp_http_client_set_redirection ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_reset_redirect_counter()

esp_err_t esp_http_client_reset_redirect_counter ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_status_code()

int esp_http_client_get_status_code ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_content_length()

int64_t esp_http_client_get_content_length ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_content_range()

int64_t esp_http_client_get_content_range ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_is_chunked_response()

bool esp_http_client_is_chunked_response ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_is_complete_data_received()

bool esp_http_client_is_complete_data_received ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_is_persistent_connection()

bool esp_http_client_is_persistent_connection ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_transport_type()

esp_http_client_transport_t esp_http_client_get_transport_type ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_state()

esp_http_state_t esp_http_client_get_state ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_socket()

int esp_http_client_get_socket ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_errno()

int esp_http_client_get_errno ( esp_http_client_handle_t  client)
extern

◆ esp_http_client_get_chunk_length()

esp_err_t esp_http_client_get_chunk_length ( esp_http_client_handle_t  client,
int *  len 
)
extern

◆ esp_http_client_get_and_clear_last_tls_error()

esp_err_t esp_http_client_get_and_clear_last_tls_error ( esp_http_client_handle_t  client,
int *  esp_tls_error_code,
int *  esp_tls_flags 
)
extern

◆ esp_http_client_set_timeout_ms()

esp_err_t esp_http_client_set_timeout_ms ( esp_http_client_handle_t  client,
int  timeout_ms 
)
extern

◆ esp_http_client_set_user_data()

esp_err_t esp_http_client_set_user_data ( esp_http_client_handle_t  client,
void *  data 
)
extern

◆ esp_http_client_get_user_data()

esp_err_t esp_http_client_get_user_data ( esp_http_client_handle_t  client,
void **  data 
)
extern
Generated from commit: vsfteam/vsf@015f4d1