OSDN Git Service

httpd
[iptd/iPTd.git] / src / net / HTTPRequest.h
diff --git a/src/net/HTTPRequest.h b/src/net/HTTPRequest.h
new file mode 100644 (file)
index 0000000..fb24eb7
--- /dev/null
@@ -0,0 +1,50 @@
+//\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