diff --git a/lib/utils.js b/lib/utils.js index fe32c6d..9a4a32e 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -2,12 +2,13 @@ var Promise = require('pouchdb-promise'); var urlJoin = require('url-join'); +var parse = require('url-parse'); function getBaseUrl(db) { if (typeof db.getUrl === 'function') { // pouchdb pre-6.0.0 - return db.getUrl().replace(/\/[^\/]+\/?$/, ''); + return parse(db.getUrl()).origin; } else { // pouchdb post-6.0.0 - return db.name.replace(/\/[^\/]+\/?$/, ''); + return parse(db.__opts && db.__opts.prefix || db.name).origin; } } exports.getUsersUrl = function (db) { diff --git a/package.json b/package.json index 48a5910..4a1a837 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,8 @@ "pouchdb-extend": "0.1.2", "pouchdb-promise": "6.0.3", "pouchdb-utils": "6.0.3", - "url-join": "1.1.0" + "url-join": "1.1.0", + "url-parse": "^1.1.9" }, "devDependencies": { "bluebird": "^2.0.0",