couchdb-bootstrap icon indicating copy to clipboard operation
couchdb-bootstrap copied to clipboard

nano options lost in DB scope

Open tlvince opened this issue 10 years ago • 4 comments

If you pass in a nano config as the url, e.g. to set requestDefaults (#14):

bootstrap({
  url: 'http://localhost:5984',
  requestDefaults: {
    auth: {
      user: 'admin',
      pass: 'admin'
    }
  }
}, 'path/to/fs', cb)

requestDefaults is lost after nano.use, for example in secure:

// ...
var dbname = utils.mapDbName(filename, options)
var db = couch.use(dbname)
console.log('couch: ', couch.config, '\ndb: ', db.config)
// =>
// couch:  { url: 'http://localhost:5984',
//  requestDefaults: { jar: false, auth: { user: 'admin', pass: 'admin' } },
//  defaultHeaders: { 'X-Couch-Full-Commit': 'true' } } 
// db:  { url: 'http://localhost:5984', db: '_users' }

In this case, this will cause subsequent requests to 401 (You are not authorized to access this db.).

Perhaps this is an issue with nano itself (https://github.com/dscape/nano/issues/278)?

tlvince avatar Oct 29 '15 13:10 tlvince

This is an interesting issue. Will investigate. This might be a bug in nano, but https://github.com/dscape/nano/issues/278 is a different one.

jo avatar Nov 03 '15 10:11 jo

Seems like this is not nanos problem

jo avatar Nov 03 '15 16:11 jo

db.config does not get the initial config but is only a stub with url and db, see here: https://github.com/dscape/nano/blob/master/lib/nano.js#L693

Nonetheless the config should be used like tested here: https://github.com/dscape/nano/issues/296

jo avatar Nov 03 '15 17:11 jo

Sorry, so was this an issue with the way I was calling it or something in nano-option?

tlvince avatar Nov 04 '15 22:11 tlvince