httpserver.h 972 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "crow.h"
  3. #include "crow/middlewares/utf-8.h"
  4. #include "crow/middlewares/cookie_parser.h"
  5. #include "languagehandlermiddleware.h"
  6. #include "../tunnelconstructor.h"
  7. #include "../notepad.h"
  8. #include <string>
  9. class HttpServer
  10. {
  11. public:
  12. HttpServer(const std::string& address, uint16_t port);
  13. void run();
  14. private:
  15. void setup();
  16. crow::App<LanguageHandler, crow::CookieParser, crow::UTF8> app_;
  17. const std::string address_;
  18. const uint16_t port_;
  19. Notepad::Lang lang(const crow::request& req);
  20. std::pair<TunnelConstructor, bool> initTunnelConstructorViaUrlQuery(const crow::request& req, Notepad::Lang lang);
  21. std::string query(const crow::request& req);
  22. std::string mainPage(Notepad::Lang lang);
  23. std::string configPage(const std::string& generated, Notepad::Lang lang, bool comments, const std::string& query);
  24. std::string errorPage(const std::string& text, Notepad::Lang lang, const std::string& query);
  25. };