mirror of
https://github.com/knex/knex.git
synced 2025-12-27 23:18:41 +00:00
Fix #852, parse qs parameters for connection
This commit is contained in:
parent
cf757a5647
commit
90105e064f
@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var url = require('url');
|
||||
var url = require('url')
|
||||
var qs = require('qs')
|
||||
|
||||
module.exports = parseConnectionString;
|
||||
|
||||
@ -53,5 +54,17 @@ function connectionObject(parsed) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (parsed.query) {
|
||||
var query = qs.parse(parsed.query)
|
||||
for (var key in query) {
|
||||
connection[key] = cast(query[key])
|
||||
}
|
||||
}
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
|
||||
function cast(val) {
|
||||
if (val === 'true') return true
|
||||
if (val === 'false') return false
|
||||
return val
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
"minimist": "~1.1.0",
|
||||
"mkdirp": "^0.5.0",
|
||||
"pool2": "^1.1.0",
|
||||
"qs": "^3.1.0",
|
||||
"readable-stream": "^1.1.12",
|
||||
"tildify": "~1.0.0",
|
||||
"v8flags": "^2.0.2"
|
||||
|
||||
@ -43,3 +43,15 @@ test('assume a path is mysql', function(t) {
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
test('#852, ssl param with query string', function(t) {
|
||||
t.plan(1)
|
||||
t.deepEqual(parseConnection("postgres://user:password@host:0000/database?ssl=true").connection, {
|
||||
host: "host",
|
||||
port: "0000",
|
||||
user: "user",
|
||||
password: "password",
|
||||
database: "database",
|
||||
ssl: true
|
||||
})
|
||||
})
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user