mcl_http_request.h
Go to the documentation of this file.
1 
16 #ifndef MCL_HTTP_REQUEST_H_
17 #define MCL_HTTP_REQUEST_H_
18 
19 #include "mcl_core/mcl_list.h"
20 
21 #ifdef __cplusplus
22 extern "C"
23 {
24 #endif
25 
29 typedef enum E_MCL_HTTP_METHOD
30 {
42 
47 {
56 
66 typedef mcl_size_t (*mcl_http_payload_callback)(char *buffer, mcl_size_t size, mcl_size_t count, void *user_context);
67 
71 typedef struct mcl_http_request_t
72 {
76  E_MCL_HTTP_METHOD method;
77  char *uri;
79  void *stream_data;
81 
95 
110 extern MCL_CORE_EXPORT mcl_error_t mcl_http_request_add_header(mcl_http_request_t *http_request, const char *header_name, const char *header_value);
111 
125 extern MCL_CORE_EXPORT mcl_error_t mcl_http_request_set_parameter(mcl_http_request_t *http_request, E_MCL_HTTP_REQUEST_PARAMETER parameter, const void *value);
126 
133 
134 #ifdef __cplusplus
135 }
136 #endif
137 
138 #endif //MCL_HTTP_REQUEST_H_
MCL_CORE_EXPORT mcl_error_t mcl_http_request_initialize(mcl_http_request_t **http_request)
Definition: http_request.c:18
size_t mcl_size_t
char * uri
Uri of http request.
Size of the body of the http request in bytes as mcl_size_t.
MCL_CORE_EXPORT mcl_error_t mcl_http_request_set_parameter(mcl_http_request_t *http_request, E_MCL_HTTP_REQUEST_PARAMETER parameter, const void *value)
Definition: http_request.c:97
Http patch method.
mcl_int32_t mcl_error_t
Http trace method.
Http put method.
mcl_size_t payload_size
Payload size of http request.
void * stream_data
Stream data.
E_MCL_HTTP_REQUEST_PARAMETER
Http options method.
MCL_CORE_EXPORT mcl_error_t mcl_http_request_add_header(mcl_http_request_t *http_request, const char *header_name, const char *header_value)
Definition: http_request.c:57
E_MCL_HTTP_METHOD
Url of the http request as char*.
List module interface header file.
Http delete method.
Http get method.
Http head method.
E_MCL_HTTP_METHOD method
Http method of http request.
MCL_CORE_EXPORT void mcl_http_request_destroy(mcl_http_request_t **http_request)
Definition: http_request.c:155
uint8_t mcl_uint8_t
#define MCL_CORE_EXPORT
Body of the http request as char*. HTTP Request neither copies the buffer, nor takes ownership...
Http connect method.
Http post method.
mcl_size_t(* mcl_http_payload_callback)(char *buffer, mcl_size_t size, mcl_size_t count, void *user_context)
mcl_http_payload_callback stream_callback
Callback to be used with chunked Transfer-Encoding. If not used, it must be NULL. ...
mcl_uint8_t * payload
Payload of http request.
mcl_list_t * header
Header of http request.
Method of the http request as E_MCL_HTTP_METHOD.