rails-reverse-proxy 0.10.1 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 28f2553cbcd88d2176d2527f164b02e1f6b449fc
4
- data.tar.gz: bd8e18ad3f8dd64bf29906f9c86004f46d15388f
2
+ SHA256:
3
+ metadata.gz: 6456ffe718138ee9846ef5579c7f67e9aa60339e6b208e4c985c3b64caa7cca8
4
+ data.tar.gz: 993aa4fe65082f18776066abc7b013722407b5eeb41f0442a6e0776ba8676b64
5
5
  SHA512:
6
- metadata.gz: a34d6fec04b73d6021ea961468a2715e92db14118fdd689357228329f5a11d62db5a594723d9a08a5686273509f9a7e8eabfc56108aa3294d17cbe144152882f
7
- data.tar.gz: 15e38cd70ab31749f0b170cfeed2ce6b41a98a892507000b4af0b33c4a02855a9bbdae57c1be7939bde2b33b711d29958117e45adb191e83cbbf9b94f758145f
6
+ metadata.gz: 801d5819e6d0538512588927f7dc98bd451dc4ad3bcdaaaa73c65a2b8e58280bb7e2389fa7f682f28c7abeb121da6774d2463c44dbc62b1851d05c3be173a10a
7
+ data.tar.gz: 25777c89c3516b8b306a26a52d6b938d02f70b73b2b0ffd0003a0974afec298c5428f1b7938710d0162b653f17293ddd703540fa45853fbd147a6cef9b55831a
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.4.2
1
+ 2.7.4
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ## 0.11.0
2
+
3
+ BUG FIXES:
4
+
5
+ * Update nokogiri gem in development to work with arm64 systems
6
+
7
+ BREAKING CHANGES:
8
+
9
+ * Add option to pass through compression, with new default as disabled [[#27](https://github.com/axsuul/rails-reverse-proxy/pull/27), [kylewlacy](https://github.com/kylewlacy)]
data/Gemfile CHANGED
@@ -1,14 +1,15 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'actionpack'
4
- gem 'addressable'
3
+ gem "actionpack"
4
+ gem "addressable"
5
5
 
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "shoulda", ">= 0"
10
- gem "rdoc", "~> 3.12"
11
9
  gem "bundler", "~> 1.0"
12
- gem "jeweler", "~> 2.1.2"
10
+ gem "jeweler", "~> 2.3.9"
11
+ gem "nokogiri", ">= 1.11.3"
12
+ gem "rdoc", "~> 3.12"
13
+ gem "shoulda", ">= 0"
13
14
  gem "simplecov", ">= 0"
14
15
  end
data/Gemfile.lock CHANGED
@@ -1,103 +1,110 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- actionpack (4.2.1)
5
- actionview (= 4.2.1)
6
- activesupport (= 4.2.1)
7
- rack (~> 1.6)
8
- rack-test (~> 0.6.2)
9
- rails-dom-testing (~> 1.0, >= 1.0.5)
10
- rails-html-sanitizer (~> 1.0, >= 1.0.1)
11
- actionview (4.2.1)
12
- activesupport (= 4.2.1)
4
+ actionpack (7.0.1)
5
+ actionview (= 7.0.1)
6
+ activesupport (= 7.0.1)
7
+ rack (~> 2.0, >= 2.2.0)
8
+ rack-test (>= 0.6.3)
9
+ rails-dom-testing (~> 2.0)
10
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
11
+ actionview (7.0.1)
12
+ activesupport (= 7.0.1)
13
13
  builder (~> 3.1)
14
- erubis (~> 2.7.0)
15
- rails-dom-testing (~> 1.0, >= 1.0.5)
16
- rails-html-sanitizer (~> 1.0, >= 1.0.1)
17
- activesupport (4.2.1)
18
- i18n (~> 0.7)
19
- json (~> 1.7, >= 1.7.7)
20
- minitest (~> 5.1)
21
- thread_safe (~> 0.3, >= 0.3.4)
22
- tzinfo (~> 1.1)
23
- addressable (2.5.0)
24
- public_suffix (~> 2.0, >= 2.0.2)
25
- builder (3.2.3)
14
+ erubi (~> 1.4)
15
+ rails-dom-testing (~> 2.0)
16
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
17
+ activesupport (7.0.1)
18
+ concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ i18n (>= 1.6, < 2)
20
+ minitest (>= 5.1)
21
+ tzinfo (~> 2.0)
22
+ addressable (2.4.0)
23
+ builder (3.2.4)
24
+ concurrent-ruby (1.1.9)
25
+ crass (1.0.6)
26
26
  descendants_tracker (0.0.4)
27
27
  thread_safe (~> 0.3, >= 0.3.1)
28
- docile (1.1.5)
29
- erubis (2.7.0)
28
+ docile (1.4.0)
29
+ erubi (1.10.0)
30
30
  faraday (0.9.2)
31
31
  multipart-post (>= 1.2, < 3)
32
- git (1.3.0)
33
- github_api (0.11.3)
34
- addressable (~> 2.3)
35
- descendants_tracker (~> 0.0.1)
32
+ git (1.10.2)
33
+ rchardet (~> 1.8)
34
+ github_api (0.16.0)
35
+ addressable (~> 2.4.0)
36
+ descendants_tracker (~> 0.0.4)
36
37
  faraday (~> 0.8, < 0.10)
37
- hashie (>= 1.2)
38
- multi_json (>= 1.7.5, < 2.0)
39
- nokogiri (~> 1.6.0)
40
- oauth2
41
- hashie (3.5.5)
42
- highline (1.7.8)
43
- i18n (0.7.0)
44
- jeweler (2.1.2)
38
+ hashie (>= 3.4)
39
+ mime-types (>= 1.16, < 3.0)
40
+ oauth2 (~> 1.0)
41
+ hashie (5.0.0)
42
+ highline (2.0.3)
43
+ i18n (1.9.1)
44
+ concurrent-ruby (~> 1.0)
45
+ jeweler (2.3.9)
45
46
  builder
46
- bundler (>= 1.0)
47
+ bundler
47
48
  git (>= 1.2.5)
48
- github_api (~> 0.11.0)
49
+ github_api (~> 0.16.0)
49
50
  highline (>= 1.6.15)
50
51
  nokogiri (>= 1.5.10)
52
+ psych
51
53
  rake
52
54
  rdoc
53
- semver
55
+ semver2
54
56
  json (1.8.6)
55
- jwt (1.5.6)
56
- loofah (2.0.2)
57
+ jwt (2.3.0)
58
+ loofah (2.13.0)
59
+ crass (~> 1.0.2)
57
60
  nokogiri (>= 1.5.9)
58
- mini_portile2 (2.1.0)
59
- minitest (5.7.0)
60
- multi_json (1.12.1)
61
+ mime-types (2.99.3)
62
+ mini_portile2 (2.7.1)
63
+ minitest (5.15.0)
64
+ multi_json (1.15.0)
61
65
  multi_xml (0.6.0)
62
- multipart-post (2.0.0)
63
- nokogiri (1.6.8.1)
64
- mini_portile2 (~> 2.1.0)
65
- oauth2 (1.3.1)
66
- faraday (>= 0.8, < 0.12)
67
- jwt (~> 1.0)
66
+ multipart-post (2.1.1)
67
+ nokogiri (1.13.1)
68
+ mini_portile2 (~> 2.7.0)
69
+ racc (~> 1.4)
70
+ oauth2 (1.4.7)
71
+ faraday (>= 0.8, < 2.0)
72
+ jwt (>= 1.0, < 3.0)
68
73
  multi_json (~> 1.3)
69
74
  multi_xml (~> 0.5)
70
75
  rack (>= 1.2, < 3)
71
- public_suffix (2.0.5)
72
- rack (1.6.5)
73
- rack-test (0.6.3)
74
- rack (>= 1.0)
75
- rails-deprecated_sanitizer (1.0.3)
76
- activesupport (>= 4.2.0.alpha)
77
- rails-dom-testing (1.0.6)
78
- activesupport (>= 4.2.0.beta, < 5.0)
79
- nokogiri (~> 1.6.0)
80
- rails-deprecated_sanitizer (>= 1.0.1)
81
- rails-html-sanitizer (1.0.2)
82
- loofah (~> 2.0)
83
- rake (12.0.0)
76
+ psych (4.0.3)
77
+ stringio
78
+ racc (1.6.0)
79
+ rack (2.2.3)
80
+ rack-test (1.1.0)
81
+ rack (>= 1.0, < 3)
82
+ rails-dom-testing (2.0.3)
83
+ activesupport (>= 4.2.0)
84
+ nokogiri (>= 1.6)
85
+ rails-html-sanitizer (1.4.2)
86
+ loofah (~> 2.3)
87
+ rake (13.0.6)
88
+ rchardet (1.8.0)
84
89
  rdoc (3.12.2)
85
90
  json (~> 1.4)
86
- semver (1.0.1)
87
- shoulda (3.5.0)
88
- shoulda-context (~> 1.0, >= 1.0.1)
89
- shoulda-matchers (>= 1.4.1, < 3.0)
90
- shoulda-context (1.2.1)
91
- shoulda-matchers (2.8.0)
92
- activesupport (>= 3.0.0)
93
- simplecov (0.10.0)
94
- docile (~> 1.1.0)
95
- json (~> 1.8)
96
- simplecov-html (~> 0.10.0)
97
- simplecov-html (0.10.0)
91
+ semver2 (3.4.2)
92
+ shoulda (4.0.0)
93
+ shoulda-context (~> 2.0)
94
+ shoulda-matchers (~> 4.0)
95
+ shoulda-context (2.0.0)
96
+ shoulda-matchers (4.5.1)
97
+ activesupport (>= 4.2.0)
98
+ simplecov (0.21.2)
99
+ docile (~> 1.1)
100
+ simplecov-html (~> 0.11)
101
+ simplecov_json_formatter (~> 0.1)
102
+ simplecov-html (0.12.3)
103
+ simplecov_json_formatter (0.1.3)
104
+ stringio (3.0.1)
98
105
  thread_safe (0.3.6)
99
- tzinfo (1.2.2)
100
- thread_safe (~> 0.1)
106
+ tzinfo (2.0.4)
107
+ concurrent-ruby (~> 1.0)
101
108
 
102
109
  PLATFORMS
103
110
  ruby
@@ -106,10 +113,11 @@ DEPENDENCIES
106
113
  actionpack
107
114
  addressable
108
115
  bundler (~> 1.0)
109
- jeweler (~> 2.1.2)
116
+ jeweler (~> 2.3.9)
117
+ nokogiri (>= 1.11.3)
110
118
  rdoc (~> 3.12)
111
119
  shoulda
112
120
  simplecov
113
121
 
114
122
  BUNDLED WITH
115
- 1.14.5
123
+ 1.17.3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.1
1
+ 0.11.0
@@ -37,12 +37,13 @@ module ReverseProxy
37
37
 
38
38
  def request(env, options = {}, &block)
39
39
  options.reverse_merge!(
40
- headers: {},
41
- http: {},
42
- path: nil,
43
- username: nil,
44
- password: nil,
45
- verify_ssl: true
40
+ headers: {},
41
+ http: {},
42
+ path: nil,
43
+ username: nil,
44
+ password: nil,
45
+ verify_ssl: true,
46
+ reset_accept_encoding: false
46
47
  )
47
48
 
48
49
  source_request = Rack::Request.new(env)
@@ -50,13 +51,11 @@ module ReverseProxy
50
51
  # We can pass in a custom path
51
52
  uri = Addressable::URI.parse("#{url}#{options[:path] || env['ORIGINAL_FULLPATH']}")
52
53
 
53
- # Initialize request
54
- target_request = Net::HTTP.const_get(source_request.request_method.capitalize).new(uri.request_uri)
55
-
56
- # Setup headers
54
+ # Define headers
57
55
  target_request_headers = extract_http_request_headers(source_request.env).merge(options[:headers])
58
56
 
59
- target_request.initialize_http_header(target_request_headers)
57
+ # Initialize request
58
+ target_request = Net::HTTP.const_get(source_request.request_method.capitalize).new(uri.request_uri, target_request_headers)
60
59
 
61
60
  # Basic auth
62
61
  target_request.basic_auth(options[:username], options[:password]) if options[:username] and options[:password]
@@ -74,11 +73,11 @@ module ReverseProxy
74
73
  # Hold the response here
75
74
  target_response = nil
76
75
 
77
- # Don't encode response/support compression which was
78
- # causing content length not match the actual content
79
- # length of the response which ended up causing issues
80
- # within Varnish (503)
81
- target_request['Accept-Encoding'] = nil
76
+ if options[:reset_accept_encoding]
77
+ # Clear the "Accept-Encoding" header (which will
78
+ # disable compression or other server-side encodings)
79
+ target_request['Accept-Encoding'] = nil
80
+ end
82
81
 
83
82
  http_options = {}
84
83
  http_options[:use_ssl] = (uri.scheme == "https")
@@ -2,25 +2,27 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rails-reverse-proxy 0.10.1 ruby lib
5
+ # stub: rails-reverse-proxy 0.11.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rails-reverse-proxy".freeze
9
- s.version = "0.10.1"
9
+ s.version = "0.11.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["James Hu".freeze]
14
- s.date = "2021-03-24"
14
+ s.date = "2022-02-08"
15
15
  s.description = "Reverse proxy for Ruby on Rails".freeze
16
16
  s.email = "hello@james.hu".freeze
17
17
  s.extra_rdoc_files = [
18
+ "CHANGELOG.md",
18
19
  "LICENSE",
19
20
  "README.md"
20
21
  ]
21
22
  s.files = [
22
23
  ".document",
23
24
  ".ruby-version",
25
+ "CHANGELOG.md",
24
26
  "Gemfile",
25
27
  "Gemfile.lock",
26
28
  "LICENSE",
@@ -36,36 +38,30 @@ Gem::Specification.new do |s|
36
38
  ]
37
39
  s.homepage = "http://github.com/axsuul/rails-reverse-proxy".freeze
38
40
  s.licenses = ["MIT".freeze]
39
- s.rubygems_version = "2.6.13".freeze
41
+ s.rubygems_version = "3.1.6".freeze
40
42
  s.summary = "Reverse proxy for Ruby on Rails".freeze
41
43
 
42
44
  if s.respond_to? :specification_version then
43
45
  s.specification_version = 4
46
+ end
44
47
 
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_runtime_dependency(%q<actionpack>.freeze, [">= 0"])
47
- s.add_runtime_dependency(%q<addressable>.freeze, [">= 0"])
48
- s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
49
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
50
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
51
- s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
52
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
53
- else
54
- s.add_dependency(%q<actionpack>.freeze, [">= 0"])
55
- s.add_dependency(%q<addressable>.freeze, [">= 0"])
56
- s.add_dependency(%q<shoulda>.freeze, [">= 0"])
57
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
58
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
59
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
60
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
61
- end
48
+ if s.respond_to? :add_runtime_dependency then
49
+ s.add_runtime_dependency(%q<actionpack>.freeze, [">= 0"])
50
+ s.add_runtime_dependency(%q<addressable>.freeze, [">= 0"])
51
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
52
+ s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
53
+ s.add_development_dependency(%q<nokogiri>.freeze, [">= 1.11.3"])
54
+ s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
55
+ s.add_development_dependency(%q<shoulda>.freeze, [">= 0"])
56
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
62
57
  else
63
58
  s.add_dependency(%q<actionpack>.freeze, [">= 0"])
64
59
  s.add_dependency(%q<addressable>.freeze, [">= 0"])
65
- s.add_dependency(%q<shoulda>.freeze, [">= 0"])
66
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
67
60
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
68
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.1.2"])
61
+ s.add_dependency(%q<jeweler>.freeze, ["~> 2.3.9"])
62
+ s.add_dependency(%q<nokogiri>.freeze, [">= 1.11.3"])
63
+ s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
64
+ s.add_dependency(%q<shoulda>.freeze, [">= 0"])
69
65
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
70
66
  end
71
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-reverse-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Hu
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-24 00:00:00.000000000 Z
11
+ date: 2022-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -39,61 +39,75 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: shoulda
42
+ name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '1.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rdoc
56
+ name: jeweler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.12'
61
+ version: 2.3.9
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.12'
68
+ version: 2.3.9
69
69
  - !ruby/object:Gem::Dependency
70
- name: bundler
70
+ name: nokogiri
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '1.0'
75
+ version: 1.11.3
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '1.0'
82
+ version: 1.11.3
83
83
  - !ruby/object:Gem::Dependency
84
- name: jeweler
84
+ name: rdoc
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.1.2
89
+ version: '3.12'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.1.2
96
+ version: '3.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: shoulda
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: simplecov
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -113,11 +127,13 @@ email: hello@james.hu
113
127
  executables: []
114
128
  extensions: []
115
129
  extra_rdoc_files:
130
+ - CHANGELOG.md
116
131
  - LICENSE
117
132
  - README.md
118
133
  files:
119
134
  - ".document"
120
135
  - ".ruby-version"
136
+ - CHANGELOG.md
121
137
  - Gemfile
122
138
  - Gemfile.lock
123
139
  - LICENSE
@@ -134,7 +150,7 @@ homepage: http://github.com/axsuul/rails-reverse-proxy
134
150
  licenses:
135
151
  - MIT
136
152
  metadata: {}
137
- post_install_message:
153
+ post_install_message:
138
154
  rdoc_options: []
139
155
  require_paths:
140
156
  - lib
@@ -149,9 +165,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
165
  - !ruby/object:Gem::Version
150
166
  version: '0'
151
167
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.6.13
154
- signing_key:
168
+ rubygems_version: 3.1.6
169
+ signing_key:
155
170
  specification_version: 4
156
171
  summary: Reverse proxy for Ruby on Rails
157
172
  test_files: []