rack-custom-proxies 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/rack-custom-proxies.rb +25 -0
  3. metadata +60 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 60b61a69c34b57caef192a83bf11718ef7eb989b
4
+ data.tar.gz: 9524f0a37edff25feeba80a2b3e9c09db2fe1d8a
5
+ SHA512:
6
+ metadata.gz: b182ac2fe03d307f0cb0c4ab1a1aa289c20d5beb7432fada4ca88e9c3d7ecc3e4fa215af316a75b1f593d8121ff477ac6650880f5d5997cd9f3b0675c94ba74e
7
+ data.tar.gz: 72fc01189c7ceb46996b316663588e5f2cb422d27f5815a893998b994d87d5a545ad75ee5e8dfc82ae5dfa36d69b57e8ea0e85a8e957eda651771a01bf1debd8
@@ -0,0 +1,25 @@
1
+ module RackCustomProxies
2
+ module ClassMethods
3
+ def trusted_proxies
4
+ @trusted_proxies ||= begin
5
+ set = ENV['RACK_TRUSTED_PROXIES'] || "127.0.0.1/32 ::1"
6
+ set.split(/\s+/).map { |i| IPAddr.new(i) }
7
+ end
8
+ end
9
+ end
10
+
11
+ def trusted_proxy?(ip)
12
+ Rack::Request.trusted_proxies.each do |tp|
13
+ return true if tp.include?(ip)
14
+ end
15
+ false
16
+ end
17
+
18
+ def self.included(base)
19
+ base.extend ClassMethods
20
+ end
21
+
22
+ end
23
+
24
+ require 'rack/request'
25
+ Rack::Request.send :include, RackCustomProxies
metadata ADDED
@@ -0,0 +1,60 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-custom-proxies
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Adam Cooke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-05-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rack
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Allow easier configuration of the trusted proxies list
28
+ email:
29
+ - me@adamcooke.io
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/rack-custom-proxies.rb
35
+ homepage: https://github.com/adamcooke/rack-custom-proxies
36
+ licenses:
37
+ - MIT
38
+ metadata: {}
39
+ post_install_message:
40
+ rdoc_options: []
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ requirements: []
54
+ rubyforge_project:
55
+ rubygems_version: 2.5.1
56
+ signing_key:
57
+ specification_version: 4
58
+ summary: Allow easier configuration of the trusted proxies list
59
+ test_files: []
60
+ has_rdoc: