summaryrefslogtreecommitdiff
path: root/axios/lib/helpers/isAbsoluteURL.js
diff options
context:
space:
mode:
Diffstat (limited to 'axios/lib/helpers/isAbsoluteURL.js')
-rw-r--r--axios/lib/helpers/isAbsoluteURL.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/axios/lib/helpers/isAbsoluteURL.js b/axios/lib/helpers/isAbsoluteURL.js
new file mode 100644
index 0000000..d33e992
--- /dev/null
+++ b/axios/lib/helpers/isAbsoluteURL.js
@@ -0,0 +1,14 @@
+'use strict';
+
+/**
+ * Determines whether the specified URL is absolute
+ *
+ * @param {string} url The URL to test
+ * @returns {boolean} True if the specified URL is absolute, otherwise false
+ */
+module.exports = function isAbsoluteURL(url) {
+ // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
+ // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
+ // by any combination of letters, digits, plus, period, or hyphen.
+ return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
+};