diff options
Diffstat (limited to 'WebServer/WebServer.h')
-rw-r--r-- | WebServer/WebServer.h | 216 |
1 files changed, 108 insertions, 108 deletions
diff --git a/WebServer/WebServer.h b/WebServer/WebServer.h index 044974cb8..882624db5 100644 --- a/WebServer/WebServer.h +++ b/WebServer/WebServer.h @@ -1,108 +1,108 @@ -/*
- WebServer.h
-
- Copyright (C) 2003-2004 René Nyffenegger
-
- This source code is provided 'as-is', without any express or implied
- warranty. In no event will the author be held liable for any damages
- arising from the use of this software.
-
- Permission is granted to anyone to use this software for any purpose,
- including commercial applications, and to alter it and redistribute it
- freely, subject to the following restrictions:
-
- 1. The origin of this source code must not be misrepresented; you must not
- claim that you wrote the original source code. If you use this source code
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
-
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original source code.
-
- 3. This notice may not be removed or altered from any source distribution.
-
- René Nyffenegger rene.nyffenegger@adp-gmbh.ch
-
-*/
-
-/*
- Note on point 2:
- THIS IS NOT THE ORIGINAL SOURCE1!!1!!!~!!~`1ONE!!`1
-*/
-
-
-class cEvents;
-class Socket;
-class SocketServer;
-class webserver {
-public:
- struct formdata
- {
- std::string name_;
- std::string filename_;
- std::string content_type_;
- std::string value_;
- };
-
- struct http_request {
-
- http_request()
- : s_( 0 )
- , content_length_( 0 )
- , authentication_given_(false)
- {}
-
- Socket* s_;
- std::string method_;
- std::string path_;
- std::map<std::string, std::string> params_;
- std::map<std::string, std::string> params_post_;
-
- std::string accept_;
- std::string accept_language_;
- std::string accept_encoding_;
- std::string user_agent_;
- int content_length_;
- std::string content_type_;
- std::vector< formdata > multipart_formdata_;
-
- /* status_: used to transmit server's error status, such as
- o 202 OK
- o 404 Not Found
- and so on */
- std::string status_;
-
- /* auth_realm_: allows to set the basic realm for an authentication,
- no need to additionally set status_ if set */
- std::string auth_realm_;
-
- std::string answer_;
-
- /* authentication_given_ is true when the user has entered a username and password.
- These can then be read from username_ and password_ */
- bool authentication_given_;
- std::string username_;
- std::string password_;
- };
-
- typedef void (*request_func) (http_request*);
- webserver(unsigned int port_to_listen, request_func);
- ~webserver();
-
- bool Begin();
- void Stop();
-
-private:
- bool m_bStop;
-
- #ifdef _WIN32
- static unsigned __stdcall Request(void*);
- #else
- static void* Request(void*);
- #endif
-
- static request_func request_func_;
-
- cEvents * m_Events;
- SocketServer* m_Socket;
-};
+/* + WebServer.h + + Copyright (C) 2003-2004 René Nyffenegger + + This source code is provided 'as-is', without any express or implied + warranty. In no event will the author be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this source code must not be misrepresented; you must not + claim that you wrote the original source code. If you use this source code + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original source code. + + 3. This notice may not be removed or altered from any source distribution. + + René Nyffenegger rene.nyffenegger@adp-gmbh.ch + +*/ + +/* + Note on point 2: + THIS IS NOT THE ORIGINAL SOURCE1!!1!!!~!!~`1ONE!!`1 +*/ + + +class cEvents; +class Socket; +class SocketServer; +class webserver { +public: + struct formdata + { + std::string name_; + std::string filename_; + std::string content_type_; + std::string value_; + }; + + struct http_request { + + http_request() + : s_( 0 ) + , content_length_( 0 ) + , authentication_given_(false) + {} + + Socket* s_; + std::string method_; + std::string path_; + std::map<std::string, std::string> params_; + std::map<std::string, std::string> params_post_; + + std::string accept_; + std::string accept_language_; + std::string accept_encoding_; + std::string user_agent_; + int content_length_; + std::string content_type_; + std::vector< formdata > multipart_formdata_; + + /* status_: used to transmit server's error status, such as + o 202 OK + o 404 Not Found + and so on */ + std::string status_; + + /* auth_realm_: allows to set the basic realm for an authentication, + no need to additionally set status_ if set */ + std::string auth_realm_; + + std::string answer_; + + /* authentication_given_ is true when the user has entered a username and password. + These can then be read from username_ and password_ */ + bool authentication_given_; + std::string username_; + std::string password_; + }; + + typedef void (*request_func) (http_request*); + webserver(unsigned int port_to_listen, request_func); + ~webserver(); + + bool Begin(); + void Stop(); + +private: + bool m_bStop; + + #ifdef _WIN32 + static unsigned __stdcall Request(void*); + #else + static void* Request(void*); + #endif + + static request_func request_func_; + + cEvents * m_Events; + SocketServer* m_Socket; +}; |