1.0.20 • Published 6 years ago
uest v1.0.20
req.uest is an Express middleware that allows you, from a given route, to request another route.
Features are:
- Initial
reqcookies are passed along to subsequentreq.uests - Cookies set by
req.uests responses are forwarded tores req.sessionstay in sync between requests
It allows you to decouple your app's routes from your API's ones. IOW, your app routes can now consume your API as any client.
Install
$ npm i uest// app.js
const uest = require('uest')
app.use(uest())Usage
req.uest(options, (er, resp, body) => {})options-- are the same as request/request, with defaults tojson: trueandbaseUrlto the same as your Express server.resp-- the response object, see: http.IncomingMessageresp.bodyholds the JSON response datas
er-- when an error occurs orresp.statusCode >= 400, see: http.ClientRequester.statusholds the response statusCode, for example:404or409...
Example
// Mount our API router
app.use('/api', require('./routers/api'));
//
// App routing
//
app.post('/login', (req, res, next) => {
const {email, password} = req.body
//
// Our subsequent request to `POST /api/sessions` route
//
req.uest({
method: 'POST',
url: '/api/sessions',
body: {email, password}
}, (er, resp, body) => {
if (er) {
// Deal with specific "Forbidden" error
if (er.status === 403) {
return res.render('login', {error: "Wrong login/password"})
}
return next(er); // for any other error
}
console.log('User-session created for', body.user)
// `req.session` is up-to-date
console.log(`Welcome back ${req.session.user.firstname}!`
res.redirect('/profile')
})
});1.0.20
6 years ago
1.0.18
6 years ago
1.0.17
6 years ago
1.0.15
6 years ago
1.0.14
6 years ago
1.0.13
6 years ago
1.0.12
6 years ago
1.0.11
6 years ago
1.0.10
6 years ago
1.0.9
6 years ago
1.0.8
6 years ago
1.0.7
6 years ago
1.0.6
6 years ago
1.0.5
6 years ago
1.0.4
6 years ago
1.0.2
6 years ago
1.0.3
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago