diff --git a/lib/urlToRequest.js b/lib/urlToRequest.js index 06c3cd0..ebdce9c 100644 --- a/lib/urlToRequest.js +++ b/lib/urlToRequest.js @@ -30,6 +30,9 @@ function urlToRequest(url, root) { default: throw new Error("Unexpected parameters to loader-utils 'urlToRequest': url = " + url + ", root = " + root + "."); } + } else if(/^(?:https?:)?\/\//.test(url)) { + // Preserve http and https urls + request = url; } else if(/^\.\.?\//.test(url)) { // A relative url stays request = url; diff --git a/test/urlToRequest.test.js b/test/urlToRequest.test.js index 6fa0a0e..5c53cad 100644 --- a/test/urlToRequest.test.js +++ b/test/urlToRequest.test.js @@ -13,6 +13,9 @@ ExpectedError.prototype.matches = function(err) { describe("urlToRequest()", () => { [ // without root + [["//google.com"], "//google.com", "should handle scheme-agnostic urls"], + [["http://google.com"], "http://google.com", "should handle http urls"], + [["https://google.com"], "https://google.com", "should handle https urls"], [["path/to/thing"], "./path/to/thing", "should handle implicit relative urls"], [["./path/to/thing"], "./path/to/thing", "should handle explicit relative urls"], [["~path/to/thing"], "path/to/thing", "should handle module urls (with ~)"],