54f2f87d4c | ||
---|---|---|
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.
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:
- GET querystring
- POST params (x-www-form-urlencoded)
- JSON or other params hitherto processed by
ActionDispatch::ParamsParser
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.