projects
/
fms.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version 0.3.9
[fms.git]
/
include
/
http
/
ipagehandler.h
diff --git
a/include/http/ipagehandler.h
b/include/http/ipagehandler.h
index
6cd3052
..
745f727
100644
(file)
--- a/
include/http/ipagehandler.h
+++ b/
include/http/ipagehandler.h
@@
-1,37
+1,40
@@
#ifndef _ipagehandler_
\r
#define _ipagehandler_
\r
\r
#ifndef _ipagehandler_
\r
#define _ipagehandler_
\r
\r
+#include "../ilogger.h"
\r
+
\r
+#include <Poco/Net/HTTPRequestHandler.h>
\r
+#include <Poco/Net/HTTPServerRequest.h>
\r
+#include <Poco/Net/HTTPServerResponse.h>
\r
+
\r
#include <cstdlib>
\r
#include <string>
\r
#include <map>
\r
#include <vector>
\r
#include <cstdlib>
\r
#include <string>
\r
#include <map>
\r
#include <vector>
\r
-#include <shttpd.h>
\r
\r
\r
-class IPageHandler
\r
+class IPageHandler
:public Poco::Net::HTTPRequestHandler,public ILogger
\r
{
\r
public:
\r
IPageHandler() {}
\r
IPageHandler(const std::string &templatestr) { m_template=templatestr; }
\r
virtual ~IPageHandler() {}
\r
{
\r
public:
\r
IPageHandler() {}
\r
IPageHandler(const std::string &templatestr) { m_template=templatestr; }
\r
virtual ~IPageHandler() {}
\r
+ virtual const bool WillHandleURI(const std::string &uri)=0;
\r
+
\r
+ virtual IPageHandler *New()=0; // returns a new instance of the object
\r
\r
\r
- /**
\r
- \brief Handles request for a page
\r
-
\r
- \return true if request was handled, false if it was ignored
\r
- */
\r
- const bool Handle(shttpd_arg *arg);
\r
+ virtual void handleRequest(Poco::Net::HTTPServerRequest &request, Poco::Net::HTTPServerResponse &response);
\r
\r
private:
\r
\r
private:
\r
- virtual const bool WillHandleURI(const std::string &uri)=0;
\r
virtual const std::string GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)=0;
\r
virtual const std::string GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)=0;
\r
-
\r
+
\r
protected:
\r
protected:
\r
- // splits apart data into name,data pairs in args map
\r
- void HandleMultiPartData(const std::string &contenttypeheader, char *data, const long datalen, std::map<std::string,std::string> &args);
\r
// converts from basename[#] query args into a vector where the vector pos is the index pos #
\r
void CreateArgArray(const std::map<std::string,std::string> &vars, const std::string &basename, std::vector<std::string> &args);
\r
// converts from basename[#] query args into a vector where the vector pos is the index pos #
\r
void CreateArgArray(const std::map<std::string,std::string> &vars, const std::string &basename, std::vector<std::string> &args);
\r
+ const std::string CreateTrueFalseDropDown(const std::string &name, const std::string &selected);
\r
+
\r
+ void CreateQueryVarMap(Poco::Net::HTTPServerRequest &request, std::map<std::string,std::string> &vars);
\r
\r
\r
- // replaces html
control characters with element
s (i.e. < becomes <)
\r
+ // replaces html
elements with encoded character
s (i.e. < becomes <)
\r
const std::string SanitizeOutput(const std::string &input);
\r
\r
std::string m_template;
\r
const std::string SanitizeOutput(const std::string &input);
\r
\r
std::string m_template;
\r