Skip to content

req.nano, which passes session cookies to CouchDB and back again.

License

Notifications You must be signed in to change notification settings

jo/connect-nano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

connect-nano Build Status

Provide req.nano, passing session cookies to CouchDB and back again.

Getting Started

Install the module with: npm install connect-nano

var connect = require('connect');
var nano = require('connect-nano');

var app = connect()
  .use(connect.cookieParser())  // connect-nano depends on cookieParser
  .use(nano('http://localhost:5984'))
  .use('/login', function(req, res) {
    req.pipe(req.nano.request({
      method: 'post',
      path: '_session',
      content_type: 'application/x-www-form-urlencoded; charset=utf-8'
    })).pipe(res);
  })
  .use('/session', function(req, res) {
    req.nano.request({ path: '_session' }).pipe(res);
  })
  .use('/me', function(req, res) {
    req.nano.request({ path: '_session' }, function(err, data) {
      if (err) {
        return res.end(err);
      }
      req.nano.use('_users').get('org.couchdb.user:' + data.userCtx.name).pipe(res);
    });
  })
  .listen(3000);

Options

connect-nano passes configuration directly over to nano(), see nano configuration.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.

  • Lint your code via npm run jshint.
    • And test your code with nodeunit via npm test.

License

Copyright (c) 2013 null2 GmbH, Johannes J. Schmidt
Licensed under the MIT license.

About

req.nano, which passes session cookies to CouchDB and back again.

Resources

License

Stars

Watchers

Forks

Packages

No packages published