1.0.20 • Published 4 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
req
cookies are passed along to subsequentreq.uest
s - Cookies set by
req.uest
s responses are forwarded tores
req.session
stay 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: true
andbaseUrl
to the same as your Express server.resp
-- the response object, see: http.IncomingMessageresp.body
holds the JSON response datas
er
-- when an error occurs orresp.statusCode >= 400
, see: http.ClientRequester.status
holds the response statusCode, for example:404
or409
...
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
4 years ago
1.0.18
4 years ago
1.0.17
4 years ago
1.0.15
4 years ago
1.0.14
4 years ago
1.0.13
4 years ago
1.0.12
4 years ago
1.0.11
4 years ago
1.0.10
4 years ago
1.0.9
4 years ago
1.0.8
4 years ago
1.0.7
4 years ago
1.0.6
4 years ago
1.0.5
4 years ago
1.0.4
4 years ago
1.0.2
4 years ago
1.0.3
4 years ago
1.0.1
4 years ago
1.0.0
4 years ago