summaryrefslogtreecommitdiff
path: root/data/extensions/https-everywhere@eff.org/background-scripts/util.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/https-everywhere@eff.org/background-scripts/util.js')
-rw-r--r--data/extensions/https-everywhere@eff.org/background-scripts/util.js23
1 files changed, 21 insertions, 2 deletions
diff --git a/data/extensions/https-everywhere@eff.org/background-scripts/util.js b/data/extensions/https-everywhere@eff.org/background-scripts/util.js
index 5a4097c..e2b069b 100644
--- a/data/extensions/https-everywhere@eff.org/background-scripts/util.js
+++ b/data/extensions/https-everywhere@eff.org/background-scripts/util.js
@@ -62,11 +62,16 @@ function loadExtensionFile(url, returnType) {
/**
* Remove tailing dots from hostname, e.g. "www.example.com."
+ * Preserve port numbers if they are used
*/
-function getNormalisedHostname(hostname) {
+function getNormalisedHostname(host) {
+ let [ hostname, port ] = host.split(":");
while (hostname && hostname[hostname.length - 1] === '.' && hostname !== '.') {
hostname = hostname.slice(0, -1);
}
+ if (port) {
+ return `${hostname}:${port}`;
+ }
return hostname;
}
@@ -143,6 +148,19 @@ function ArrayBufferToString(ab) {
return string;
}
+/**
+ * Convert a string to an ArrayBuffer
+ *
+ * @param string: a string to convert
+ */
+function StringToArrayBuffer(str) {
+ var byteArray = new Uint8Array(str.length);
+ for (var i = 0; i < str.length; i++) {
+ byteArray[i] = str.charCodeAt(i);
+ }
+ return byteArray;
+}
+
Object.assign(exports, {
VERB,
@@ -158,7 +176,8 @@ Object.assign(exports, {
setDefaultLogLevel,
getDefaultLogLevel,
loadExtensionFile,
- ArrayBufferToString
+ ArrayBufferToString,
+ StringToArrayBuffer
});
})(typeof exports == 'undefined' ? require.scopes.util = {} : exports);