/[osn-commons]/trunk/freehttpd/request.h
ViewVC logotype

Contents of /trunk/freehttpd/request.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 45 - (show annotations)
Sun Aug 11 17:35:46 2024 UTC (7 months, 2 weeks ago) by rakinar2
File MIME type: text/x-c
File size: 1302 byte(s)
feat(freehttpd): file serving and directory indexing

1 #ifndef FREEHTTPD_REQUEST_H
2 #define FREEHTTPD_REQUEST_H
3
4 #include "freehttpd.h"
5 #include <stdbool.h>
6 #include <stddef.h>
7
8 typedef struct freehttpd_header
9 {
10 char *name;
11 char *value;
12 size_t name_length;
13 size_t value_length;
14 } freehttpd_header_t;
15
16 typedef struct freehttpd_request
17 {
18 char *method;
19 size_t method_length;
20 char *uri;
21 size_t uri_length;
22 char *path;
23 size_t path_length;
24 char *query;
25 size_t query_length;
26 char *version;
27 size_t version_length;
28 freehttpd_header_t **headers;
29 size_t headers_count;
30 char *body;
31 size_t body_length;
32 } freehttpd_request_t;
33
34 freehttpd_request_t *freehttpd_request_init (const char *method,
35 const char *uri,
36 const char *version);
37 void freehttpd_request_free (freehttpd_request_t *request);
38 freehttpd_request_t *freehttpd_request_parse (freehttpd_t *freehttpd,
39 int sockfd, ecode_t *error);
40
41 freehttpd_header_t *freehttpd_header_init (const char *name, const char *value,
42 size_t name_length,
43 size_t value_length);
44 void freehttpd_header_free (freehttpd_header_t *header);
45
46 #endif

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26