MCPcopy Create free account
hub / github.com/ClassicOldSong/Apollo / start

Function start

src/confighttp.cpp:1507–1585  ·  view source on GitHub ↗

* @brief Start the HTTPS server. */

Source from the content-addressed store, hash-verified

1505 * @brief Start the HTTPS server.
1506 */
1507 void start() {
1508 auto shutdown_event = mail::man->event<bool>(mail::shutdown);
1509 auto port_https = net::map_port(PORT_HTTPS);
1510 auto address_family = net::af_from_enum_string(config::sunshine.address_family);
1511 https_server_t server { config::nvhttp.cert, config::nvhttp.pkey };
1512 server.default_resource["DELETE"] = [](resp_https_t response, req_https_t request) {
1513 bad_request(response, request);
1514 };
1515 server.default_resource["PATCH"] = [](resp_https_t response, req_https_t request) {
1516 bad_request(response, request);
1517 };
1518 server.default_resource["POST"] = [](resp_https_t response, req_https_t request) {
1519 bad_request(response, request);
1520 };
1521 server.default_resource["PUT"] = [](resp_https_t response, req_https_t request) {
1522 bad_request(response, request);
1523 };
1524 server.default_resource["GET"] = not_found;
1525 server.resource["^/$"]["GET"] = getIndexPage;
1526 server.resource["^/pin/?$"]["GET"] = getPinPage;
1527 server.resource["^/apps/?$"]["GET"] = getAppsPage;
1528 server.resource["^/config/?$"]["GET"] = getConfigPage;
1529 server.resource["^/password/?$"]["GET"] = getPasswordPage;
1530 server.resource["^/welcome/?$"]["GET"] = getWelcomePage;
1531 server.resource["^/login/?$"]["GET"] = getLoginPage;
1532 server.resource["^/troubleshooting/?$"]["GET"] = getTroubleshootingPage;
1533 server.resource["^/api/login"]["POST"] = login;
1534 server.resource["^/api/pin$"]["POST"] = savePin;
1535 server.resource["^/api/otp$"]["POST"] = getOTP;
1536 server.resource["^/api/apps$"]["GET"] = getApps;
1537 server.resource["^/api/apps$"]["POST"] = saveApp;
1538 server.resource["^/api/apps/reorder$"]["POST"] = reorderApps;
1539 server.resource["^/api/apps/delete$"]["POST"] = deleteApp;
1540 server.resource["^/api/apps/launch$"]["POST"] = launchApp;
1541 server.resource["^/api/apps/close$"]["POST"] = closeApp;
1542 server.resource["^/api/logs$"]["GET"] = getLogs;
1543 server.resource["^/api/config$"]["GET"] = getConfig;
1544 server.resource["^/api/config$"]["POST"] = saveConfig;
1545 server.resource["^/api/configLocale$"]["GET"] = getLocale;
1546 server.resource["^/api/restart$"]["POST"] = restart;
1547 server.resource["^/api/quit$"]["POST"] = quit;
1548 server.resource["^/api/reset-display-device-persistence$"]["POST"] = resetDisplayDevicePersistence;
1549 server.resource["^/api/password$"]["POST"] = savePassword;
1550 server.resource["^/api/clients/unpair-all$"]["POST"] = unpairAll;
1551 server.resource["^/api/clients/list$"]["GET"] = getClients;
1552 server.resource["^/api/clients/update$"]["POST"] = updateClient;
1553 server.resource["^/api/clients/unpair$"]["POST"] = unpair;
1554 server.resource["^/api/clients/disconnect$"]["POST"] = disconnect;
1555 server.resource["^/api/covers/upload$"]["POST"] = uploadCover;
1556 server.resource["^/images/apollo.ico$"]["GET"] = getFaviconImage;
1557 server.resource["^/images/logo-apollo-45.png$"]["GET"] = getApolloLogoImage;
1558 server.resource["^/assets\\/.+$"]["GET"] = getNodeModules;
1559 server.config.reuse_address = true;
1560 server.config.address = net::af_to_any_address_string(address_family);
1561 server.config.port = port_https;
1562
1563 auto accept_and_run = [&](auto *server) {
1564 try {

Callers

nothing calls this directly

Calls 10

map_portFunction · 0.85
af_from_enum_stringFunction · 0.85
bad_requestFunction · 0.85
af_to_any_address_stringFunction · 0.85
startMethod · 0.80
viewMethod · 0.80
joinMethod · 0.80
peekMethod · 0.45
raiseMethod · 0.45
stopMethod · 0.45

Tested by

no test coverage detected