--- /dev/null
+//\r
+// HTTPRequest.h\r
+//\r
+\r
+#ifndef __NET_HTTPREQUEST_H__\r
+#define __NET_HTTPREQUEST_H__\r
+\r
+#include <Raym/Raym.h>\r
+\r
+#include "net/InternetTextMessage.h"\r
+\r
+namespace NET\r
+{\r
+\r
+class HTTPRequest : public Raym::Object\r
+{\r
+private:\r
+ Raym::String * _method;\r
+ Raym::String * _uri;\r
+ Raym::String * _version;\r
+ InternetTextMessage * _message;\r
+\r
+protected:\r
+ HTTPRequest();\r
+ ~HTTPRequest();\r
+\r
+public:\r
+ static HTTPRequest *requestWithSocket(SOCKET sock);\r
+\r
+ void setMethod(Raym::String *method);\r
+ Raym::String *method();\r
+ void setURI(Raym::String *uri);\r
+ Raym::String *URI();\r
+ void setVersion(Raym::String *version);\r
+ Raym::String *version();\r
+ void setMessage(InternetTextMessage *message);\r
+ InternetTextMessage *message();\r
+\r
+\r
+ // parse\r
+ static const char *KEY_CGI;\r
+ static const char *KEY_PARAMS;\r
+ Raym::Dictionary *parseAsCGI();\r
+\r
+ virtual const char *className();\r
+};\r
+\r
+} // NET\r
+\r
+#endif // __NET_HTTPREQUEST_H__\r