OSDN Git Service

httpd
[iptd/iPTd.git] / src / net / HTTPRequest.h
1 //\r
2 //  HTTPRequest.h\r
3 //\r
4 \r
5 #ifndef __NET_HTTPREQUEST_H__\r
6 #define __NET_HTTPREQUEST_H__\r
7 \r
8 #include <Raym/Raym.h>\r
9 \r
10 #include "net/InternetTextMessage.h"\r
11 \r
12 namespace NET\r
13 {\r
14 \r
15 class HTTPRequest : public Raym::Object\r
16 {\r
17 private:\r
18     Raym::String *  _method;\r
19     Raym::String *  _uri;\r
20     Raym::String *  _version;\r
21     InternetTextMessage *   _message;\r
22 \r
23 protected:\r
24     HTTPRequest();\r
25     ~HTTPRequest();\r
26 \r
27 public:\r
28     static HTTPRequest *requestWithSocket(SOCKET sock);\r
29 \r
30     void setMethod(Raym::String *method);\r
31     Raym::String *method();\r
32     void setURI(Raym::String *uri);\r
33     Raym::String *URI();\r
34     void setVersion(Raym::String *version);\r
35     Raym::String *version();\r
36     void setMessage(InternetTextMessage *message);\r
37     InternetTextMessage *message();\r
38 \r
39 \r
40     // parse\r
41     static const char *KEY_CGI;\r
42     static const char *KEY_PARAMS;\r
43     Raym::Dictionary *parseAsCGI();\r
44 \r
45     virtual const char *className();\r
46 };\r
47 \r
48 } // NET\r
49 \r
50 #endif // __NET_HTTPREQUEST_H__\r