#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include enum { INDEX_HTML, DEFAULT_ROUTER_WEB_INERFACE_ICON_WITH_WIFI_ICON_3, FAVICON, BOOTSTRAP_MIN_CSS, FORM_CSS, INDEX_CSS, INFO_CSS, NOTIFICATION_CSS, SETTINGS_CSS, SYSLOG_CSS, UPDATE_CSS, BOOTSTRAP_MIN_JS, HEADER_JS, LOGIN_JS, NOTIFICATION_JS, REBOOT_JS, ROUTES_JS, SYSLOG_JS, THEME_JS, UPDATE_JS, UPTIME_JS, BACKUP_JS, DNS_JS, FTP_JS, SETTINGS_JS, SSH_JS, TELNET_JS, WIFI_JS }; static std::map staticfilemap{ {"/", INDEX_HTML}, {"/css/index.css", INDEX_CSS}, {"/css/form.css", FORM_CSS}, {"/css/settings.css", SETTINGS_CSS}, {"/css/notifications.css", NOTIFICATION_CSS}, {"/css/syslog.css", SYSLOG_CSS}, {"/css/info.css", INFO_CSS}, {"/css/update.css", UPDATE_CSS}, {"/css/bootstrap.min.css", BOOTSTRAP_MIN_CSS}, {"/js/header.js", HEADER_JS}, {"/js/routes.js", ROUTES_JS}, {"/js/notification.js", NOTIFICATION_JS}, {"/js/settings/settings.js", SETTINGS_JS}, {"/js/settings/telnet.js", TELNET_JS}, {"/js/settings/dns.js", DNS_JS}, {"/js/settings/ftp.js", FTP_JS}, {"/js/settings/ssh.js", SSH_JS}, {"/js/settings/wifi.js", WIFI_JS}, {"/js/settings/backup.js", BACKUP_JS}, {"/js/reboot.js", REBOOT_JS}, {"/js/syslog.js", SYSLOG_JS}, {"/js/info/uptime.js", UPTIME_JS}, {"/js/update.js", UPDATE_JS}, {"/js/login.js", LOGIN_JS}, {"/js/bootstrap.min.js", BOOTSTRAP_MIN_JS}, {"/js/theme.js", THEME_JS}, {"/favicon.ico", FAVICON} }; inline void static_file(const httplib::Request& request, httplib::Response& response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; switch (staticfilemap[request.path]) { case INDEX_HTML: response.set_content((char*)index_html, "text/html"); break; case INDEX_CSS: response.set_content((char*)index_css, "text/css"); break; case FORM_CSS: response.set_content((char*)form_css, "text/css"); break; case SETTINGS_CSS: response.set_content((char*)settings_css, "text/css"); break; case NOTIFICATION_CSS: response.set_content((char*)notification_css, "text/css"); break; case SYSLOG_CSS: response.set_content((char*)syslog_css, "text/css"); break; case INFO_CSS: response.set_content((char*)info_css, "text/css"); break; case UPDATE_CSS: response.set_content((char*)update_css, "text/css"); break; case BOOTSTRAP_MIN_CSS: response.set_content((char*)bootstrap_min_css, "text/css"); break; case HEADER_JS: response.set_content((char*)header_js, "text/js"); break; case ROUTES_JS: response.set_content((char*)routes_js, "text/js"); break; case NOTIFICATION_JS: response.set_content((char*)notification_js, "text/js"); break; case SETTINGS_JS: response.set_content((char*)settings_js, "text/js"); break; case TELNET_JS: response.set_content((char*)telnet_js, "text/js"); break; case DNS_JS: response.set_content((char*)dns_js, "text/js"); break; case FTP_JS: response.set_content((char*)ftp_js, "text/js"); break; case SSH_JS: response.set_content((char*)ssh_js, "text/js"); break; case WIFI_JS: response.set_content((char*)wifi_js, "text/js"); break; case BACKUP_JS: response.set_content((char*)backup_js, "text/js"); break; case REBOOT_JS: response.set_content((char*)reboot_js, "text/js"); break; case SYSLOG_JS: response.set_content((char*)syslog_js, "text/js"); break; case UPTIME_JS: response.set_content((char*)uptime_js, "text/js"); break; case UPDATE_JS: response.set_content((char*)update_js, "text/js"); break; case LOGIN_JS: response.set_content((char*)login_js, "text/js"); break; case BOOTSTRAP_MIN_JS: response.set_content((char*)bootstrap_min_js, "text/js"); break; case THEME_JS: response.set_content((char*)theme_js, "text/js"); break; case DEFAULT_ROUTER_WEB_INERFACE_ICON_WITH_WIFI_ICON_3: response.set_content((char*)Default_router_web_inerface_icon_with_wifi_icon_3_jpg, "text/js"); break; case FAVICON: response.set_content((char*)favicon_ico, "text/js"); break; } }