29 lines
748 B
JavaScript
29 lines
748 B
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
Object.defineProperty(exports, "validateURL", {
|
||
|
enumerable: true,
|
||
|
get: function() {
|
||
|
return validateURL;
|
||
|
}
|
||
|
});
|
||
|
const DUMMY_ORIGIN = "http://n";
|
||
|
const INVALID_URL_MESSAGE = "Invalid request URL";
|
||
|
function validateURL(url) {
|
||
|
if (!url) {
|
||
|
throw new Error(INVALID_URL_MESSAGE);
|
||
|
}
|
||
|
try {
|
||
|
const parsed = new URL(url, DUMMY_ORIGIN);
|
||
|
// Avoid origin change by extra slashes in pathname
|
||
|
if (parsed.origin !== DUMMY_ORIGIN) {
|
||
|
throw new Error(INVALID_URL_MESSAGE);
|
||
|
}
|
||
|
return url;
|
||
|
} catch {
|
||
|
throw new Error(INVALID_URL_MESSAGE);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//# sourceMappingURL=validate-url.js.map
|