@rill/refresh-with
v3.1.0
Published
Redirect and alter the query string for Rill.
Downloads
44
Maintainers
Readme
Utility to redirect/refresh with an updated query string.
Installation
npm install @rill/refresh-withExample
const app = require('rill')()
const refreshWith = require('@rill/refresh-with')
// Setup the middleware.
app.use(refreshWith())
// Use the 'res.refreshWith' utility.
// Example `href` is `http://test.com/my-view?modal=hello&test=1`
app.get('/my-view', ({ req, res }, next)=> {
// Example usecase of removing a modal from the querystring.
if (req.query.modal) {
res.refreshWith({ modal: '', success: true })
// Removes `modal` and adds `success=true`
res.get('Location') // -> `http://test.com/my-view?success=true&test=1`
}
})
// Example `referrer` is `http://test.com/my-view?modal=hello&test=1`
app.get('/from-somewhere-else', ({ req, res }, next)=> {
// Example usecase of redirecting to the previous page while unsetting a modal.
res.refreshWith({ modal: '', success: true }, { url: 'back', hash: '#top' })
// Removes `modal` and adds `success=true to the referrer`
res.get('Location') // -> `http://test.com/my-view?success=true&test=1`
})API
###ctx.res.refreshWith(setters:Object, options:Object)
Similar to calling ctx.res.redirect but will update the current querystring with setters and default the url to the current href.
Specify the options.url option as back to automatically redirect to the referrer page.
You can also specify options.alt for the fallback when using options.url = 'back'.
Contributions
- Use
npm testto run tests.
Please feel free to create a PR!
