15 enum class webServerType
24 std::mutex checkExecutor;
25 std::unordered_map<std::string, std::unique_ptr<BaseExecutor>> routes;
26 std::unordered_map<std::string, createExecutorFunction> creators;
27 std::unordered_map<std::string, utility::JSONSettingsParser::ExecutorSettings> settings;
28 std::shared_ptr<ResourceExecutor> resources;
29 std::vector<utility::RouteParameters> routeParameters;
30 webServerType serverType;
33 static bool isFileRequest(std::string_view parameters);
37 static void parseRouteParameters(
const std::string& parameters,
HTTPRequest& request, std::vector<utility::RouteParameters>::iterator it);
40 BaseExecutor* getExecutor(std::string& parameters,
HTTPRequest& request, std::unordered_map<std::string, std::unique_ptr<BaseExecutor>>& statefulExecutors);
55 const json::JSONParser& configuraion,
56 const std::filesystem::path& assets,
58 const std::filesystem::path& pathToTemplates,
59 std::unordered_map<std::string, std::unique_ptr<BaseExecutor>>&& routes,
60 std::unordered_map<std::string, createExecutorFunction>&& creators,
61 std::unordered_map<std::string, utility::JSONSettingsParser::ExecutorSettings>&& settings,
62 std::vector<utility::RouteParameters>&& routeParameters
67 std::shared_ptr<ResourceExecutor> getResourceExecutor()
const;