Commit bfaec12b authored by jan.koester's avatar jan.koester
Browse files

test

parent 2fb921bd
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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)
@@ -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() {
+4 −0
Original line number Diff line number Diff line
@@ -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;
+7 −0
Original line number Diff line number Diff line
@@ -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();
}