Rack middleware to filter parameters from HTTP requests
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib/rack
spec
.gitignore
.rspec
.travis.yml
Gemfile
LICENSE.txt
README.md
Rakefile
rack-filter-param.gemspec

README.md

rack-filter-param

Refactoring something behind an API? Plagued by extraneous HTTP params? rack-filter-param might be for you.

Build Status

What is it?

Rack middleware to remove specific params from HTTP requests.

What does it do?

Given a set of params and optional constraints, rack-filter-param will remove those params, then pass the request downstream.

Removes params from:

Installation

gem 'rack-filter-param', require: 'rack/filter_param'

Usage

In rackup file or application.rb, initialize rack-filter-param with a list of HTTP params you want filtered from requests.

Strip a parameter named client_id:

use Rack::FilterParam, :client_id

Strip a parameter named client_id from a specific path only:

use Rack::FilterParam, { param: :client_id, path: '/oauth/tokens' }

Strip a parameter named client_id from a fuzzy path:

use Rack::FilterParam, { param: :client_id, path: /\A\/oauth/ }

Strip a parameter named client_id based on arbitrary logic:

use Rack::FilterParam, { param: :client_id, if: -> (value) { ... } }

To filter multiple parameters, an array of parameters or options hashes can also be passed.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/rfwatson/rack-filter-param

License

The gem is available as open source under the terms of the MIT License.