/** * part of Hachette * Getting available content for site from remote repositories. * * Copyright (C) 2021 Wojtek Kosior * Redistribution terms are gathered in the `copyright' file. */ /* * IMPORTS_START * IMPORT make_ajax_request * IMPORTS_END */ var query_started = false; var url = undefined; var repos = undefined; var callback = undefined; async function query(repo) { const [repo_url, data] = repo; let response = "Query failed"; const query_url = `${repo_url}/query?n=${encodeURIComponent(url)}`; try { let xhttp = await make_ajax_request("GET", query_url); if (xhttp.status === 200) response = xhttp.responseText; console.log(xhttp); } catch (e) { console.log(e); } callback([repo_url, response]); } function start_query() { if (query_started || !url || !repos || !callback) return; query_started = true; console.log(`about to query ${url} from ${repos}`); for (const repo of repos) query(repo); } function set_repo_query_url(_url) { url = _url; start_query(); } function set_repo_query_repos(_repos) { repos = _repos; start_query(); } function set_repo_query_callback(_callback) { callback = _callback; start_query(); } /* * EXPORTS_START * EXPORT set_repo_query_url * EXPORT set_repo_query_repos * EXPORT set_repo_query_callback * EXPORTS_END */