diff options
Diffstat (limited to 'plugins/static-files')
| -rw-r--r-- | plugins/static-files/static-files.cpp | 12 | ||||
| -rw-r--r-- | plugins/static-files/static-files.h | 8 | 
2 files changed, 17 insertions, 3 deletions
diff --git a/plugins/static-files/static-files.cpp b/plugins/static-files/static-files.cpp index 287c975..358e239 100644 --- a/plugins/static-files/static-files.cpp +++ b/plugins/static-files/static-files.cpp @@ -19,8 +19,16 @@ static_files_plugin::~static_files_plugin()   //std::cout << "Plugin destructor" << std::endl;  } -std::string static_files_plugin::generate_page(std::string path) +std::string static_files_plugin::generate_page( +  std::function<std::string(const std::string& key)>& GetServerParam, +  std::function<std::string(const std::string& key)>& GetRequestParam, // request including body (POST...) +  std::function<void(const std::string& key, const std::string& value)>& SetResponseHeader // to be added to result string +)  { - return "Static Files "s + path; + try { +  return "Static Files "s + GetServerParam("path"s); + } catch (const std::exception& ex) { +  return "Error: "s + ex.what(); + }  } diff --git a/plugins/static-files/static-files.h b/plugins/static-files/static-files.h index 7ea5500..ff35e92 100644 --- a/plugins/static-files/static-files.h +++ b/plugins/static-files/static-files.h @@ -7,8 +7,14 @@ class static_files_plugin: public webserver_plugin_interface  public:   static_files_plugin();   ~static_files_plugin(); +    std::string name(); - std::string generate_page(std::string path); + std::string generate_page( +  std::function<std::string(const std::string& key)>& GetServerParam, +  std::function<std::string(const std::string& key)>& GetRequestParam, // request including body (POST...) +  std::function<void(const std::string& key, const std::string& value)>& SetResponseHeader // to be added to result string + ); +  };  extern "C" BOOST_SYMBOL_EXPORT static_files_plugin webserver_plugin;  | 
