From c0ccf16c69d43a89674640c61d13ec2c02b128d6 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Fri, 10 Apr 2020 15:36:59 +0200 Subject: First working plugin: static-files --- config.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'config.h') diff --git a/config.h b/config.h index 4f788d8..61ad1ba 100644 --- a/config.h +++ b/config.h @@ -8,17 +8,11 @@ namespace fs = std::filesystem; -enum PathType -{ - Files, // serve files - Plugin // delegate to plugin -}; - struct Path { std::string requested; // the requested path - PathType type; - std::unordered_map params; // what to serve, e.g. which filesystem path, or which plugin + // default entries: "plugin", "target" + std::unordered_map params; // what to serve, e.g. which filesystem path (target), and which plugin }; struct Site @@ -74,10 +68,17 @@ class Config // secondary calculation functions // + /// Root path in server's file system /// param[in] requested_host e.g. www.domain.com:8080 or www.domain.com std::string DocRoot(const Socket& socket, const std::string& requested_host, const std::string& requested_path) const; + + /// Get name of plugin std::string GetPlugin(const Socket& socket, const std::string& requested_host, const std::string& requested_path) const; + /// requested_path = GetPluginPath() / GetRelativePath() + std::string GetPluginPath(const Socket& socket, const std::string& requested_host, const std::string& requested_path) const; + std::string GetRelativePath(const Socket& socket, const std::string& requested_host, const std::string& requested_path) const; + // return true iff plugin "name" is mentioned in config bool PluginIsConfigured(const std::string& name) const; -- cgit v1.2.3