summaryrefslogtreecommitdiff
path: root/rotord/rotord.h
diff options
context:
space:
mode:
authorComment <tim@gray.(none)>2013-02-13 17:11:43 +0000
committerComment <tim@gray.(none)>2013-02-13 17:11:43 +0000
commit95bb2236ac69b3ae54bb84f91a58a89491b94240 (patch)
treec29070fa03b8f3a430081b3dcc6ba0ce75b7bc02 /rotord/rotord.h
initial commit
Diffstat (limited to 'rotord/rotord.h')
-rw-r--r--rotord/rotord.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/rotord/rotord.h b/rotord/rotord.h
new file mode 100644
index 0000000..c5f632b
--- /dev/null
+++ b/rotord/rotord.h
@@ -0,0 +1,77 @@
+#include "Poco/Net/HTTPServer.h"
+#include "Poco/Net/HTTPRequestHandler.h"
+#include "Poco/Net/HTTPRequestHandlerFactory.h"
+#include "Poco/Net/HTTPServerParams.h"
+#include "Poco/Net/HTTPServerRequest.h"
+#include "Poco/Net/HTTPServerResponse.h"
+#include "Poco/Net/HTTPServerParams.h"
+#include "Poco/Net/ServerSocket.h"
+#include "Poco/Timestamp.h"
+#include "Poco/DateTimeFormatter.h"
+#include "Poco/DateTimeFormat.h"
+#include "Poco/Exception.h"
+#include "Poco/ThreadPool.h"
+#include "Poco/Util/ServerApplication.h"
+#include "Poco/Util/Option.h"
+#include "Poco/Util/OptionSet.h"
+#include "Poco/Util/HelpFormatter.h"
+#include <iostream>
+
+#include "Poco/URI.h"
+
+using Poco::Net::ServerSocket;
+using Poco::Net::HTTPRequestHandler;
+using Poco::Net::HTTPRequestHandlerFactory;
+using Poco::Net::HTTPServer;
+using Poco::Net::HTTPServerRequest;
+using Poco::Net::HTTPServerResponse;
+using Poco::Net::HTTPServerParams;
+using Poco::Timestamp;
+using Poco::DateTimeFormatter;
+using Poco::DateTimeFormat;
+using Poco::ThreadPool;
+using Poco::Util::ServerApplication;
+using Poco::Util::Application;
+using Poco::Util::Option;
+using Poco::Util::OptionSet;
+using Poco::Util::OptionCallback;
+using Poco::Util::HelpFormatter;
+
+class RotorRequestHandler: public HTTPRequestHandler
+{
+ public:
+ RotorRequestHandler(const std::string& format);
+ void handleRequest(HTTPServerRequest& request,HTTPServerResponse& response);
+ private:
+ std::string _format;
+};
+
+class RotorRequestHandlerFactory: public HTTPRequestHandlerFactory
+{
+ public:
+ RotorRequestHandlerFactory(const std::string& format);
+ HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request);
+ private:
+ std::string _format;
+};
+
+class RotorServer: public Poco::Util::ServerApplication
+{
+ public:
+ RotorServer();
+ ~RotorServer();
+ protected:
+ void initialize(Application& self);
+ void uninitialize();
+ void defineOptions(OptionSet& options);
+ void handleHelp(const std::string& name, const std::string& value);
+ int main(const std::vector<std::string>& args);
+ private:
+ bool _helpRequested;
+};
+
+int main(int argc, char** argv)
+{
+ RotorServer app;
+ return app.run(argc, argv);
+} \ No newline at end of file