Remove dynamic exceptions
[anna.git] / example / diameter / launcher / MyHandler.hpp
index e69de29..31758b5 100644 (file)
@@ -0,0 +1,36 @@
+// ANNA - Anna is Not Nothingness Anymore                                                         //
+//                                                                                                //
+// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
+//                                                                                                //
+// See project site at http://redmine.teslayout.com/projects/anna-suite                           //
+// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
+
+
+#ifndef example_diameter_launcher_MyHandler_hpp
+#define example_diameter_launcher_MyHandler_hpp
+
+// Project
+#include <anna/http/Response.hpp>
+#include <anna/http/Handler.hpp>
+#include <anna/json/json.hpp>
+
+
+class MyHandler : public anna::http::Handler {
+public:
+  MyHandler() : anna::http::Handler("http_converter::MyHandler") {
+    allocateResponse()->createHeader(anna::http::Header::Type::Date);
+  }
+
+private:
+  void splitURI(const std::string &uri, std::string &operation, std::string & param1, std::string & param2) const;
+
+  void sendResponse(anna::comm::ClientSocket&, anna::http::Response *response);
+  bool doGET(const std::string &uri, std::string &response);
+  bool doPOST(const std::string &uri, const nlohmann::json &j, std::string &reponse);
+
+  void evRequest(anna::comm::ClientSocket&, const anna::http::Request& request) noexcept(false);
+  void evResponse(anna::comm::ClientSocket&, const anna::http::Response&) noexcept(false) {;}
+};
+
+#endif
+