rack-remove-param 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,31 @@
1
+ module Rack
2
+ class RemoveParam
3
+ def initialize(app, param_to_filter)
4
+ @param_to_filter = param_to_filter
5
+ @app = app
6
+ end
7
+
8
+ def call(env)
9
+ dup._call(env)
10
+ end
11
+
12
+ def _call(env)
13
+ @request = Rack::Request.new(env)
14
+
15
+ if @request.post?
16
+ delete_param(@request.params, @param_to_filter)
17
+ env["rack.request.form_hash"] = @request.params
18
+ env["rack.request.form_vars"] = Rack::Utils.build_query(@request.params)
19
+ end
20
+
21
+ @status, @headers, @body = @app.call(env)
22
+ [@status, @headers, @body]
23
+ end
24
+
25
+ private
26
+ def delete_param(hash, param)
27
+ hash.delete(param)
28
+ hash.each{|k, value| delete_param(value, param) if value.is_a?(Hash) }
29
+ end
30
+ end
31
+ end
@@ -0,0 +1 @@
1
+ require 'rack/remove-param'
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-remove-param
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Thomas Pomfret
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-09-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70257290096640 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70257290096640
25
+ - !ruby/object:Gem::Dependency
26
+ name: rack
27
+ requirement: &70257290125080 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *70257290125080
36
+ description: Remove POST params from reqs
37
+ email:
38
+ - thomas@mintdigital.com
39
+ executables: []
40
+ extensions: []
41
+ extra_rdoc_files: []
42
+ files:
43
+ - lib/rack-remove-param.rb
44
+ - lib/rack/remove-param.rb
45
+ homepage: http://github.com/mintdigital/rack-remove-param
46
+ licenses: []
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ requirements: []
64
+ rubyforge_project:
65
+ rubygems_version: 1.8.11
66
+ signing_key:
67
+ specification_version: 3
68
+ summary: Filter out unwanted params
69
+ test_files: []