From 1a80e9d455645cae35d87b791ddb1e8e6055684d Mon Sep 17 00:00:00 2001 From: Vladislav Ostapov Date: Fri, 15 Nov 2024 14:15:10 +0300 Subject: [PATCH] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81:=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BB=D1=81=D1=8F=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D1=81=D1=82=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA?= =?UTF-8?q?=D0=B8=D1=85=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.cpp | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2db2431..0611a03 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -104,31 +104,29 @@ class ServerResources { } public: - static constexpr const char* INDEX_HTML = "static/main.html"; - static constexpr const char* LOGIN_HTML = "static/login.html"; + static constexpr const char* INDEX_HTML = "/main.html"; + static constexpr const char* LOGIN_HTML = "/login.html"; // картинки, их даже можно кешировать - static constexpr const char* FAVICON_ICO = "static/favicon.png"; - static constexpr const char* VUE_JS = "static/js/vue.js"; // это тоже можно кешировать + static constexpr const char* FAVICON_ICO = "/favicon.png"; + static constexpr const char* VUE_JS = "/js/vue.js"; // это тоже можно кешировать // а эти стили нельзя кешировать в отладочной версии - static constexpr const char* STYLE_CSS = "static/style.css"; - static constexpr const char* FIELDS_CSS = "static/fields.css"; + static constexpr const char* STYLE_CSS = "/style.css"; + static constexpr const char* FIELDS_CSS = "/fields.css"; ServerResources(const ServerResources&) = delete; - ServerResources(): sf(std::make_unique()), api(std::make_unique()) { + ServerResources(const std::string& staticFilesPath): sf(std::make_unique()), api(std::make_unique()) { api->startDaemon(); auth.users.emplace_back(std::make_shared("admin", "", http::auth::User::SUPERUSER)); - sf->registerFile(FAVICON_ICO, mime_types::image_png, true); - sf->registerFile(VUE_JS, mime_types::javascript, true); - - sf->registerFile(STYLE_CSS, mime_types::text_css, true); - sf->registerFile(FIELDS_CSS, mime_types::text_css, true); - - sf->registerFile(INDEX_HTML, mime_types::text_html, false); - sf->registerFile(LOGIN_HTML, mime_types::text_html, true); + sf->registerFile(staticFilesPath + FAVICON_ICO, mime_types::image_png, true); + sf->registerFile(staticFilesPath + VUE_JS, mime_types::javascript, true); + sf->registerFile(staticFilesPath + STYLE_CSS, mime_types::text_css, true); + sf->registerFile(staticFilesPath + FIELDS_CSS, mime_types::text_css, true); + sf->registerFile(staticFilesPath + INDEX_HTML, mime_types::text_html, false); + sf->registerFile(staticFilesPath + LOGIN_HTML, mime_types::text_html, true); } void registerResources(http::server::Server& s) { @@ -473,9 +471,9 @@ int main(int argc, char *argv[]) { if (argc != 4 && argc != 5) { std::cerr << "Usage: http_server
[static files directory]\n"; std::cerr << " For IPv4, try:\n"; - std::cerr << " receiver nossl 0.0.0.0 80\n"; + std::cerr << " receiver nossl 0.0.0.0 80 .\n"; std::cerr << " For IPv6, try:\n"; - std::cerr << " receiver nossl 0::0 80\n"; + std::cerr << " receiver nossl 0::0 80 .\n"; return 1; } @@ -496,7 +494,9 @@ int main(int argc, char *argv[]) { BOOST_LOG_TRIVIAL(info) << "Generated new secret key " << http::auth::jwt::secretKey; #endif - ServerResources resources; + const std::string staticFilesPath = (argc == 5 ? argv[4]: "."); + BOOST_LOG_TRIVIAL(info) << "Use static files path: " << staticFilesPath << "/"; + ServerResources resources(staticFilesPath); // Initialise the server. std::unique_ptr s;