rsstats 0.0.1
Redis Enterprise Statistic collector
libhttp.h
Go to the documentation of this file.
1
21#ifndef __LIBHTTP_H__
22#define __LIBHTTP_H__
23
24typedef enum HTTPVersion_e {
33
34typedef enum HTTPMethod_e {
46
47typedef enum HTTPStatus_e {
51
53
54typedef struct HTTP_s HTTP_t;
55
57void HTTP_del(HTTP_t* http);
58HTTP_t* HTTP_setbody(HTTP_t* http, const char* body);
59char* HTTP_getbody(HTTP_t* http);
60HTTPHeader_t* HTTP_addheader(HTTP_t* http, const char* name, const char* value);
61HTTPHeader_t* HTTP_addbasicauth(HTTP_t* http, const char* login, const char* pass);
63char* HTTPHeader_getname(HTTPHeader_t* header);
64HTTPHeader_t* HTTPHeader_setvalue(HTTPHeader_t* header, const char* value);
68HTTPHeader_t* HTTP_findheader(const HTTPHeader_t* start, const char* name);
70char* HTTP_buildheaders(const HTTP_t* http);
71
72char* HTTP_buildrequest(const HTTPMethod_t method, const char* uri, const HTTPVersion_t version);
73void HTTP_parserequest(const char* request, HTTP_t** http, HTTPMethod_t method, char* uri, HTTPVersion_t version);
74char* HTTP_buildreply(const HTTP_t* http, const HTTPVersion_t, const HTTPStatus_t);
75void HTTP_parsereply(const char* reply, HTTP_t** http, HTTPVersion_t*, HTTPStatus_t*);
76
77
78#endif /* __LIBHTTP_H__ */
const char *const name
Definition: cJSON.h:268
HTTPHeader_t * HTTP_firstheader(const HTTP_t *http)
Definition: libhttp.c:259
enum HTTPVersion_e HTTPVersion_t
char * HTTPHeader_getvalue(HTTPHeader_t *header)
Definition: libhttp.c:79
HTTP_t * HTTP_remheader(HTTP_t *http, HTTPHeader_t *header)
Definition: libhttp.c:319
void HTTP_del(HTTP_t *http)
Definition: libhttp.c:146
enum HTTPStatus_e HTTPStatus_t
HTTPMethod_e
Definition: libhttp.h:34
@ HTTPMETHOD_PUT
Definition: libhttp.h:38
@ HTTPMETHOD_POST
Definition: libhttp.h:37
@ HTTPMETHOD_CONNECT
Definition: libhttp.h:40
@ HTTPMETHOD_TRACE
Definition: libhttp.h:42
@ HTTPMETHOD_PATCH
Definition: libhttp.h:43
@ HTTPMETHOD_DELETE
Definition: libhttp.h:39
@ HTTPMETHOD_OPTIONS
Definition: libhttp.h:41
@ HTTPMETHOD_GET
Definition: libhttp.h:35
@ HTTPMETHOD_INVALID
Definition: libhttp.h:44
@ HTTPMETHOD_HEAD
Definition: libhttp.h:36
HTTPVersion_e
Definition: libhttp.h:24
@ HTTPVERSION_HTTP11b
Definition: libhttp.h:28
@ HTTPVERSION_INVALID
Definition: libhttp.h:31
@ HTTPVERSION_HTTP09
Definition: libhttp.h:25
@ HTTPVERSION_HTTP2
Definition: libhttp.h:29
@ HTTPVERSION_HTTP10
Definition: libhttp.h:26
@ HTTPVERSION_HTTP3
Definition: libhttp.h:30
@ HTTPVERSION_HTTP11
Definition: libhttp.h:27
enum HTTPMethod_e HTTPMethod_t
char * HTTP_buildreply(const HTTP_t *http, const HTTPVersion_t, const HTTPStatus_t)
HTTPStatus_e
Definition: libhttp.h:47
@ MISSING_404
Definition: libhttp.h:49
@ OK_200
Definition: libhttp.h:48
char * HTTP_buildheaders(const HTTP_t *http)
Definition: libhttp.c:358
void HTTP_parserequest(const char *request, HTTP_t **http, HTTPMethod_t method, char *uri, HTTPVersion_t version)
HTTP_t * HTTP_new()
Definition: libhttp.c:122
HTTPHeader_t * HTTP_addbasicauth(HTTP_t *http, const char *login, const char *pass)
Definition: libhttp.c:219
char * HTTP_getbody(HTTP_t *http)
Definition: libhttp.c:189
void HTTP_parsereply(const char *reply, HTTP_t **http, HTTPVersion_t *, HTTPStatus_t *)
char * HTTPHeader_getname(HTTPHeader_t *header)
Definition: libhttp.c:55
HTTPHeader_t * HTTPHeader_setname(HTTPHeader_t *header, const char *name)
Definition: libhttp.c:39
HTTPHeader_t * HTTP_findheader(const HTTPHeader_t *start, const char *name)
Definition: libhttp.c:288
HTTP_t * HTTP_setbody(HTTP_t *http, const char *body)
Definition: libhttp.c:171
HTTPHeader_t * HTTP_addheader(HTTP_t *http, const char *name, const char *value)
Definition: libhttp.c:197
char * HTTP_buildrequest(const HTTPMethod_t method, const char *uri, const HTTPVersion_t version)
Definition: libhttp.c:397
HTTPHeader_t * HTTPHeader_setvalue(HTTPHeader_t *header, const char *value)
Definition: libhttp.c:63
HTTPHeader_t * HTTP_nextheader(const HTTPHeader_t *header)
Definition: libhttp.c:271
Definition: libhttp.c:28
char * body
Definition: libhttp.c:30