aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/node
diff options
context:
space:
mode:
authorGravatar murgatroid99 <mlumish@google.com>2015-08-20 15:52:57 -0700
committerGravatar murgatroid99 <mlumish@google.com>2015-08-20 15:52:57 -0700
commit5df6ebd0c585756467c128dc20b60be515163f5e (patch)
tree8d76ea5237b888ea3e75ba947387e0dbb2fc2f86 /src/node
parent01a772028041577099e406019b731b3540a6fb2f (diff)
Replaced toLowerCase with local-insensitive downcasing function
Diffstat (limited to 'src/node')
-rw-r--r--src/node/src/metadata.js9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/node/src/metadata.js b/src/node/src/metadata.js
index d4a8b2669f..77ababb65d 100644
--- a/src/node/src/metadata.js
+++ b/src/node/src/metadata.js
@@ -48,12 +48,19 @@ function Metadata() {
this._internal_repr = {};
}
+function downcaseString(str) {
+ var capitals = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
+ var lowercase = 'abcdefghijklmnopqrstuvwxyz';
+ var charMap = _.zipObject(capitals, lowercase);
+ return str.replace(/[A-Z]/g, _.curry(_.get)(charMap));
+}
+
function normalizeKey(key) {
if (!(/^[A-Za-z\d-]+$/.test(key))) {
throw new Error('Metadata keys must be nonempty strings containing only ' +
'alphanumeric characters and hyphens');
}
- return key.toLowerCase();
+ return downcaseString(key);
}
function validate(key, value) {