taskrambler  0.1.9
Web server and task management solution.
request.h
Go to the documentation of this file.
1 /**
2  * \file
3  * Represents one HTTP request.
4  *
5  * \author Georg Hopp
6  *
7  * \copyright
8  * Copyright © 2012 Georg Hopp
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program. If not, see <http://www.gnu.org/licenses/>.
22  */
23 
24 #ifndef __HTTP_REQUEST_H__
25 #define __HTTP_REQUEST_H__
26 
27 #include "class.h"
28 #include "http/message.h"
29 #include "hash.h"
30 
31 #define N_HTTP_METHOD 8
32 
33 extern char * http_method[N_HTTP_METHOD];
34 
35 typedef enum e_HttpMethod {
44 } HttpMethod;
45 
46 CLASS(HttpRequest) {
47  EXTENDS(HttpMessage);
48 
49  char * method;
50  char * uri;
51  char * path;
52 
53  HttpMethod method_id;
54 
55  Hash get;
56  Hash post;
57  Hash cookies;
58 };
59 
61 
62 #endif // __HTTP_REQUEST_H__
63 
64 // vim: set ts=4 sw=4:
void post(struct element *tree, void(*cb)(struct element *, int))
Definition: rbtree.c:618
HttpMethod httpRequestGetMethodId(HttpRequest)
Definition: get_method_id.c:39
char * http_method[N_HTTP_METHOD]
Definition: get_method_id.c:27
HttpMethod
Definition: request.h:35
#define EXTENDS(parent)
Definition: class/class.h:49
CLASS(HttpRequest)
Definition: request.h:46
#define N_HTTP_METHOD
Definition: request.h:31