Loading src/blogi.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ static bool handleDeployFallback(libhttppp::HttpRequest &curreq, const int tid, } blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : HttpEvent(serversocket), _debug(debug){ Blogi::ActiveInstance = this; // Helper to initialize a DomainContext from a DomainConfig auto initCtx = [&](DomainContext &ctx, const DomainConfig &dcfg) Loading Loading @@ -386,6 +387,8 @@ blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : Htt } blogi::Blogi::~Blogi(){ if (Blogi::ActiveInstance == this) Blogi::ActiveInstance = nullptr; } bool blogi::Blogi::reloadConfig() { Loading src/blogi.h +4 −0 Original line number Diff line number Diff line Loading @@ -77,11 +77,15 @@ namespace blogi { // Reload SSL certificates at runtime (called after cert renewal) static bool reloadSSL(const std::string &certpath, const std::string &keypath, const std::string &password = ""); // Trigger config reload on the currently running Blogi instance. static bool reloadRunningConfig(); // Reload configuration from disk and rebuild domain contexts bool reloadConfig(); static std::unique_ptr<blogi::Config> Cfg; static libhttppp::HttpD *HttpServer; static Blogi *ActiveInstance; private: void initDomainContext(DomainContext &ctx, const DomainConfig &dcfg, bool debug); bool _debug = false; Loading src/blogi_globals.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -3,8 +3,15 @@ std::unique_ptr<blogi::Config> blogi::Blogi::Cfg; libhttppp::HttpD *blogi::Blogi::HttpServer = nullptr; blogi::Blogi *blogi::Blogi::ActiveInstance = nullptr; bool blogi::Blogi::reloadSSL(const std::string &certpath, const std::string &keypath, const std::string &password) { if (!HttpServer) return false; return HttpServer->reloadCertificates(certpath, keypath, password); } bool blogi::Blogi::reloadRunningConfig() { if (!ActiveInstance) return false; return ActiveInstance->reloadConfig(); } Loading
src/blogi.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ static bool handleDeployFallback(libhttppp::HttpRequest &curreq, const int tid, } blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : HttpEvent(serversocket), _debug(debug){ Blogi::ActiveInstance = this; // Helper to initialize a DomainContext from a DomainConfig auto initCtx = [&](DomainContext &ctx, const DomainConfig &dcfg) Loading Loading @@ -386,6 +387,8 @@ blogi::Blogi::Blogi(std::vector<netplus::socket*> serversocket,bool debug) : Htt } blogi::Blogi::~Blogi(){ if (Blogi::ActiveInstance == this) Blogi::ActiveInstance = nullptr; } bool blogi::Blogi::reloadConfig() { Loading
src/blogi.h +4 −0 Original line number Diff line number Diff line Loading @@ -77,11 +77,15 @@ namespace blogi { // Reload SSL certificates at runtime (called after cert renewal) static bool reloadSSL(const std::string &certpath, const std::string &keypath, const std::string &password = ""); // Trigger config reload on the currently running Blogi instance. static bool reloadRunningConfig(); // Reload configuration from disk and rebuild domain contexts bool reloadConfig(); static std::unique_ptr<blogi::Config> Cfg; static libhttppp::HttpD *HttpServer; static Blogi *ActiveInstance; private: void initDomainContext(DomainContext &ctx, const DomainConfig &dcfg, bool debug); bool _debug = false; Loading
src/blogi_globals.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -3,8 +3,15 @@ std::unique_ptr<blogi::Config> blogi::Blogi::Cfg; libhttppp::HttpD *blogi::Blogi::HttpServer = nullptr; blogi::Blogi *blogi::Blogi::ActiveInstance = nullptr; bool blogi::Blogi::reloadSSL(const std::string &certpath, const std::string &keypath, const std::string &password) { if (!HttpServer) return false; return HttpServer->reloadCertificates(certpath, keypath, password); } bool blogi::Blogi::reloadRunningConfig() { if (!ActiveInstance) return false; return ActiveInstance->reloadConfig(); }