diff --git a/lib/helpers/isURLSameOrigin.js b/lib/helpers/isURLSameOrigin.js index 18db03b3c5..d9f05f16d1 100644 --- a/lib/helpers/isURLSameOrigin.js +++ b/lib/helpers/isURLSameOrigin.js @@ -53,9 +53,20 @@ export default platform.isStandardBrowserEnv ? * @returns {boolean} True if URL shares the same origin, otherwise false */ return function isURLSameOrigin(requestURL) { - const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; - return (parsed.protocol === originURL.protocol && - parsed.host === originURL.host); + if ( + !requestURL || + (!utils.isString(requestURL) && + !( + Object.prototype.hasOwnProperty.call(requestURL, "protocol") && + Object.prototype.hasOwnProperty.call(requestURL, "host") + )) + ) { + return utils.isString(requestURL) ? requestURL : typeof requestURL; + } + const parsed = resolveURL(requestURL); + return ( + parsed.protocol === originURL.protocol && parsed.host === originURL.host + ); }; })() :