|
|
|
@ -14,22 +14,29 @@ export default async function handler(req, res) {
|
|
|
|
|
error: "No ping URL given",
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
let startTime = performance.now();
|
|
|
|
|
let [status] = await httpProxy(pingURL, {
|
|
|
|
|
method: "HEAD"
|
|
|
|
|
});
|
|
|
|
|
let endTime = performance.now();
|
|
|
|
|
|
|
|
|
|
if (status > 403) {
|
|
|
|
|
// try one more time as a GET in case HEAD is rejected for whatever reason
|
|
|
|
|
startTime = performance.now();
|
|
|
|
|
[status] = await httpProxy(pingURL);
|
|
|
|
|
endTime = performance.now();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return res.status(200).json({
|
|
|
|
|
status,
|
|
|
|
|
latency: endTime - startTime
|
|
|
|
|
});
|
|
|
|
|
try {
|
|
|
|
|
let startTime = performance.now();
|
|
|
|
|
let [status] = await httpProxy(pingURL, {
|
|
|
|
|
method: "HEAD"
|
|
|
|
|
});
|
|
|
|
|
let endTime = performance.now();
|
|
|
|
|
|
|
|
|
|
if (status > 403) {
|
|
|
|
|
// try one more time as a GET in case HEAD is rejected for whatever reason
|
|
|
|
|
startTime = performance.now();
|
|
|
|
|
[status] = await httpProxy(pingURL);
|
|
|
|
|
endTime = performance.now();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return res.status(200).json({
|
|
|
|
|
status,
|
|
|
|
|
latency: endTime - startTime
|
|
|
|
|
});
|
|
|
|
|
} catch (e) {
|
|
|
|
|
logger.debug("Error attempting ping: %s", JSON.stringify(e));
|
|
|
|
|
return res.status(400).send({
|
|
|
|
|
error: 'Error attempting ping, see logs.',
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|