From e33e19d0587146859d48a134ec9fd94e7b7ba5cd Mon Sep 17 00:00:00 2001 From: "FWoltermann@gmail.com" Date: Thu, 8 Dec 2011 14:53:40 +0000 Subject: Initial upload --- NetEx/HttpServlet.h | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 NetEx/HttpServlet.h (limited to 'NetEx/HttpServlet.h') diff --git a/NetEx/HttpServlet.h b/NetEx/HttpServlet.h new file mode 100644 index 0000000..99ac06d --- /dev/null +++ b/NetEx/HttpServlet.h @@ -0,0 +1,85 @@ +/* Project nGenEx + Destroyer Studios LLC + Copyright © 1997-2004. All Rights Reserved. + + SUBSYSTEM: NetEx.lib + FILE: HttpServlet.h + AUTHOR: John DiCamillo + + + OVERVIEW + ======== + Network Server Pump for HTTP Server +*/ + + +#ifndef HttpServlet_h +#define HttpServlet_h + +#include "HttpServer.h" + +// +-------------------------------------------------------------------+ + +class HttpServlet; +class HttpSession; + +// +-------------------------------------------------------------------+ + +class HttpServlet +{ +public: + static const char* TYPENAME() { return "HttpServlet"; } + + HttpServlet(); + virtual ~HttpServlet(); + + virtual bool Service(HttpRequest& request, HttpResponse& response); + + virtual bool DoGet(HttpRequest& request, HttpResponse& response); + virtual bool DoPost(HttpRequest& request, HttpResponse& response); + virtual bool DoHead(HttpRequest& request, HttpResponse& response); + + virtual HttpSession* GetSession() { return session; } + virtual void SetSession(HttpSession* s) { session = s; } + +protected: + HttpSession* session; +}; + +// +-------------------------------------------------------------------+ + +class HttpSession +{ +public: + static const char* TYPENAME() { return "HttpSession"; } + + HttpSession(); + virtual ~HttpSession(); + + int operator == (const HttpSession& s) const { return id == s.id; } + + Text GenerateUniqueID(); + + Text GetID() const { return id; } + void SetID(const char* i) { id = i; } + int GetLastAccess() const { return access_time;} + void Access(); + + List& GetAttributes() { return attributes; } + + Text GetAttribute(const char* name); + void SetAttribute(const char* name, const char* value); + void DelAttribute(const char* name); + + int GetIntAttribute(const char* name); + void SetIntAttribute(const char* name, int value); + void DelIntAttribute(const char* name); + +protected: + Text id; + int access_time; + List attributes; +}; + + +#endif HttpServlet_h \ No newline at end of file -- cgit v1.1