From 15ab25940e9fa9ee6d47061047d76e1b133427fc Mon Sep 17 00:00:00 2001 From: Taylor Stine Date: Mon, 1 Feb 2016 14:15:30 -0500 Subject: [PATCH] Added encoding to user name and password --- ExportAdapter.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ExportAdapter.js b/ExportAdapter.js index 89cb6c59..ffb493fe 100644 --- a/ExportAdapter.js +++ b/ExportAdapter.js @@ -34,8 +34,19 @@ ExportAdapter.prototype.connect = function() { return this.connectionPromise; } + var usernameStart = this.mongoURI.indexOf('://') + 3; + var lastAtIndex = this.mongoURI.lastIndexOf('@'); + var encodedMongoURI = this.mongoURI; + var username = null; + var password = null; + var split = null + if (lastAtIndex > 0) { + split = this.mongoURI.slice(usernameStart, lastAtIndex).split(':'); + encodedMongoURI = this.mongoURI.slice(0, usernameStart) + encodeURIComponent(split[0]) + ':' + encodeURIComponent(split[1]) + this.mongoURI.slice(lastAtIndex); + } + this.connectionPromise = Promise.resolve().then(() => { - return MongoClient.connect(this.mongoURI); + return MongoClient.connect(encodedMongoURI, {uri_decode_auth:true}); }).then((db) => { this.db = db; });