gboolean cockpit_handler_resource (CockpitWebServer *server, const gchar *path, GHashTable *headers, CockpitWebResponse *response, CockpitHandlerData *ws) { CockpitWebService *service; if (g_str_has_prefix (path, "/cockpit/static/")) { cockpit_web_response_file (response, path + 16, TRUE, ws->static_roots); return TRUE; } service = cockpit_auth_check_cookie (ws->auth, headers); if (service) { cockpit_web_service_resource (service, headers, response); g_object_unref (service); } else if (g_str_equal (path, "/") || g_str_has_suffix (path, ".html")) { send_login_html (response, ws); } else { cockpit_web_response_error (response, 401, NULL, NULL); } return TRUE; }
gboolean cockpit_handler_resource (CockpitWebService *server, CockpitWebServerRequestType reqtype, const gchar *path, GHashTable *headers, GBytes *input, CockpitWebResponse *response, CockpitHandlerData *ws) { CockpitWebService *service; service = cockpit_auth_check_cookie (ws->auth, headers); if (service) { cockpit_web_service_resource (service, response); g_object_unref (service); } else { cockpit_web_response_error (response, 401, NULL, NULL); } return TRUE; }