addEventListener('fetch', event => { let url=new URL(event.request.url); if (url.protocol == 'http:') { url.protocol = 'https:' event.respondWith( Response.redirect(url.href) ) } else { let response = null; let nd = newDate(); if (nd.getDate()%2) { host = SingleDay } else { host = DoubleDay } if (host.substr(0, 7)!='http://'&&host.substr(0, 8)!='https://') host = 'http://' + host;
response = fetchAndApply(host, event.request);
event.respondWith( response ); } })
asyncfunctionfetchAndApply(host, request) { let f_url = new URL(request.url); let a_url = new URL(host); let replace_path = a_url.pathname; if (replace_path.substr(replace_path.length-1)!='/') replace_path += '/'; let replaced_path = '/'; let query = f_url.search; let path = f_url.pathname; if (host.substr(host.length-1)=='/') path = path.substr(1); f_url.href = host + path + query;
let response = null; let method = request.method; let body = request.body; let request_headers = request.headers; let new_request_headers = new Headers(request_headers); new_request_headers.set('Host', f_url.host); new_request_headers.set('Referer', request.url);