47 lines
804 B
C
47 lines
804 B
C
/**
|
|
* HTTP client
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stddef.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
enum method
|
|
{
|
|
MethodGET = 0,
|
|
MethodPOST
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
const char *url;
|
|
char *root_ca;
|
|
const char *body;
|
|
const char *content_type;
|
|
enum method method;
|
|
} http_request_opts;
|
|
|
|
/**
|
|
* Perform an HTTP request.
|
|
*
|
|
* Returns NULL in case of failure or the response else. The memory
|
|
* must be released by the caller.
|
|
*/
|
|
char *http_client_exec(const http_request_opts *opts);
|
|
|
|
/**
|
|
* Escape URI string
|
|
*
|
|
* See protocol_example_utils.c of esp32-idf
|
|
*/
|
|
size_t http_client_escape_uri(unsigned char *dst, const unsigned char *src, size_t size);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|