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
 |