Skip to content

📨 Redirect and alter the query string for Rill.

Notifications You must be signed in to change notification settings

rill-js/refresh-with

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rill
@rill/refresh-with
API stability Standard NPM version Downloads Gitter Chat

Utility to redirect/refresh with an updated query string.

Installation

npm install @rill/refresh-with

Example

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 test to run tests.

Please feel free to create a PR!

About

📨 Redirect and alter the query string for Rill.

Resources

Stars

Watchers

Forks

Packages

No packages published