blob: 58d14d61ef944e9264ed34cb26abf57cf0a181e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<!DOCTYPE html>
<html>
<head>
<script src="/common/get-host-info.sub.js"></script>
</head>
<body>
<script>
onmessage = e => parent.postMessage(e.data, "*");
const path = "/fetch/api/resources/cors-top.txt";
const http_url = get_host_info().HTTP_ORIGIN + path;
const https_url = get_host_info().HTTPS_ORIGIN + path;
const ifr = document.createElement("iframe");
ifr.src = `data:text/html,
<!DOCTYPE html>
<script>
async function try_fetch(url) {
try {
const response = await fetch(url);
return response.ok;
} catch(e) {
return false;
}
}
async function try_fetch_and_report(url) {
parent.postMessage({
protocol: new URL(url).protocol,
success: await try_fetch(url),
}, "*");
}
try_fetch_and_report("${http_url}");
try_fetch_and_report("${https_url}");
<\/script>
`;
document.body.appendChild(ifr);
</script>
</body>
</html>
|