mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-31 04:32:06 +00:00 
			
		
		
		
	don't do things if the web server isn't enabled
This commit is contained in:
		| @@ -93,19 +93,17 @@ int main(int argc, char** argv) { | ||||
| 	} | ||||
|  | ||||
| 	// setup the chat api web server | ||||
| 	bool web_server_enabled = Game::config->GetValue("web_server_enabled") == "1"; | ||||
| 	const uint32_t web_server_port = GeneralUtils::TryParse<uint32_t>(Game::config->GetValue("web_server_port")).value_or(2005); | ||||
| 	if (web_server_enabled && !Game::web.Startup("localhost", web_server_port)) { | ||||
| 		// if we want the web api and it fails to start, exit | ||||
| 	if (Game::config->GetValue("web_server_enabled") == "1" && !Game::web.Startup("localhost", web_server_port)) { | ||||
| 		// if we want the web server and it fails to start, exit | ||||
| 		LOG("Failed to start web server, shutting down."); | ||||
| 		Database::Destroy("ChatServer"); | ||||
| 		delete Game::logger; | ||||
| 		delete Game::config; | ||||
| 		return EXIT_FAILURE; | ||||
| 	} | ||||
| 	if (web_server_enabled) { | ||||
| 		ChatWeb::RegisterRoutes(); | ||||
| 	} | ||||
|  | ||||
| 	if (Game::web.IsEnabled()) ChatWeb::RegisterRoutes(); | ||||
|  | ||||
| 	//Find out the master's IP: | ||||
| 	std::string masterIP; | ||||
| @@ -169,10 +167,8 @@ int main(int argc, char** argv) { | ||||
| 			packet = nullptr; | ||||
| 		} | ||||
|  | ||||
| 		//Check and handle web requests: | ||||
| 		if (web_server_enabled) { | ||||
| 			Game::web.ReceiveRequests(); | ||||
| 		} | ||||
| 		// Check and handle web requests: | ||||
| 		if (Game::web.IsEnabled()) Game::web.ReceiveRequests(); | ||||
|  | ||||
| 		//Push our log every 30s: | ||||
| 		if (framesSinceLastFlush >= logFlushTime) { | ||||
|   | ||||
| @@ -156,6 +156,7 @@ void HandleWSGetSubscriptions(mg_connection* connection, json data) { | ||||
| } | ||||
|  | ||||
| void HandleMessages(mg_connection* connection, int message, void* message_data) { | ||||
| 	if (!Game::web.IsEnabled()) return; | ||||
| 	switch (message) { | ||||
| 		case MG_EV_HTTP_MSG: | ||||
| 			HandleHTTPMessage(connection, static_cast<mg_http_message*>(message_data)); | ||||
| @@ -232,7 +233,7 @@ bool Web::Startup(const std::string& listen_ip, const uint32_t listen_port) { | ||||
| 		.name = "getSubscriptions", | ||||
| 		.handle = HandleWSGetSubscriptions | ||||
| 	}); | ||||
|  | ||||
| 	enabled = true; | ||||
| 	return true; | ||||
| } | ||||
|  | ||||
| @@ -241,6 +242,8 @@ void Web::ReceiveRequests() { | ||||
| } | ||||
|  | ||||
| void Web::SendWSMessage(const std::string subscription, json& data) { | ||||
| 	if (!Game::web.enabled) return; | ||||
|  | ||||
| 	// find subscription | ||||
| 	auto subItr = std::find(g_WSSubscriptions.begin(), g_WSSubscriptions.end(), subscription); | ||||
| 	if (subItr == g_WSSubscriptions.end()) { | ||||
|   | ||||
| @@ -49,8 +49,10 @@ public: | ||||
| 	void RegisterHTTPRoute(HTTPRoute route); | ||||
| 	void RegisterWSEvent(WSEvent event); | ||||
| 	void RegisterWSSubscription(const std::string& subscription); | ||||
| 	bool IsEnabled() const { return enabled; }; | ||||
| private: | ||||
| 	mg_mgr mgr; | ||||
| 	bool enabled = false; | ||||
| }; | ||||
|  | ||||
| #endif // !__WEB_H__ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Aaron Kimbre
					Aaron Kimbre