wovnrb 0.2.07 → 0.2.07.1
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 +4 -4
- data/lib/wovnrb/headers.rb +1 -1
- data/lib/wovnrb/version.rb +1 -1
- data/test/lib/headers_test.rb +54 -0
- metadata +2 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b65bd099a98b9832deb8a8ad6c0a76b2442727ec
|
|
4
|
+
data.tar.gz: 2d65eb16175398584a2bebe3f80732d74d7cc3ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 629628750b2196824f4e2be03e0f299f94989d115fc1042a43adc146f22d627d3dbabc78435f39e25d473cef2c72ac6449766ca2779e51c54082e4b12fa681c4
|
|
7
|
+
data.tar.gz: fa5f22df24ad7726ab9a056718a0ac037ae95482142de2dc6e834a59d55d369398b584125bcb938b6c3a7d3d09d2ceff839e73f1ec6f68294bf4925ff43c8255
|
data/lib/wovnrb/headers.rb
CHANGED
|
@@ -205,7 +205,7 @@ module Wovnrb
|
|
|
205
205
|
|
|
206
206
|
def out(headers)
|
|
207
207
|
r = Regexp.new("//" + @host)
|
|
208
|
-
if headers.has_key?("Location") && headers["Location"] =~ r
|
|
208
|
+
if lang_code != @settings['default_lang'] && headers.has_key?("Location") && headers["Location"] =~ r
|
|
209
209
|
case @settings['url_pattern']
|
|
210
210
|
when 'query'
|
|
211
211
|
if headers["Location"] =~ /\?/
|
data/lib/wovnrb/version.rb
CHANGED
data/test/lib/headers_test.rb
CHANGED
|
@@ -150,6 +150,60 @@ class HeadersTest < Minitest::Test
|
|
|
150
150
|
assert_equal('http://wovn.io/test', env['HTTP_REFERER'])
|
|
151
151
|
end
|
|
152
152
|
|
|
153
|
+
def test_out_original_lang_with_subdomain_url_pattern
|
|
154
|
+
h = Wovnrb::Headers.new(
|
|
155
|
+
Wovnrb.get_env(
|
|
156
|
+
'SERVER_NAME' => 'wovn.io',
|
|
157
|
+
'REQUEST_URI' => '/test',
|
|
158
|
+
'HTTP_REFERER' => 'http://wovn.io/test',
|
|
159
|
+
),
|
|
160
|
+
Wovnrb.get_settings(
|
|
161
|
+
'url_pattern' => 'subdomain',
|
|
162
|
+
'url_pattern_reg' => '^(?<lang>[^.]+).',
|
|
163
|
+
),
|
|
164
|
+
)
|
|
165
|
+
headers = h.request_out(h.lang_code)
|
|
166
|
+
assert_equal('http://wovn.io/test', headers['HTTP_REFERER'])
|
|
167
|
+
headers['Location'] = headers['HTTP_REFERER']
|
|
168
|
+
assert_equal('http://wovn.io/test', h.out(headers)['Location'])
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
def test_out_original_lang_with_path_url_pattern
|
|
172
|
+
h = Wovnrb::Headers.new(
|
|
173
|
+
Wovnrb.get_env(
|
|
174
|
+
'SERVER_NAME' => 'wovn.io',
|
|
175
|
+
'REQUEST_URI' => '/test',
|
|
176
|
+
'HTTP_REFERER' => 'http://wovn.io/test',
|
|
177
|
+
),
|
|
178
|
+
Wovnrb.get_settings(
|
|
179
|
+
'url_pattern' => 'path',
|
|
180
|
+
'url_pattern_reg' => '/(?<lang>[^/.?]+)',
|
|
181
|
+
),
|
|
182
|
+
)
|
|
183
|
+
headers = h.request_out(h.lang_code)
|
|
184
|
+
assert_equal('http://wovn.io/test', headers['HTTP_REFERER'])
|
|
185
|
+
headers['Location'] = headers['HTTP_REFERER']
|
|
186
|
+
assert_equal('http://wovn.io/test', h.out(headers)['Location'])
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def test_out_original_lang_with_query_url_pattern
|
|
190
|
+
h = Wovnrb::Headers.new(
|
|
191
|
+
Wovnrb.get_env(
|
|
192
|
+
'SERVER_NAME' => 'wovn.io',
|
|
193
|
+
'REQUEST_URI' => '/test',
|
|
194
|
+
'HTTP_REFERER' => 'http://wovn.io/test',
|
|
195
|
+
),
|
|
196
|
+
Wovnrb.get_settings(
|
|
197
|
+
'url_pattern' => 'query',
|
|
198
|
+
'url_pattern_reg' => '((\\?.*&)|\\?)wovn=(?<lang>[^&]+)(&|$)',
|
|
199
|
+
),
|
|
200
|
+
)
|
|
201
|
+
headers = h.request_out(h.lang_code)
|
|
202
|
+
assert_equal('http://wovn.io/test', headers['HTTP_REFERER'])
|
|
203
|
+
headers['Location'] = headers['HTTP_REFERER']
|
|
204
|
+
assert_equal('http://wovn.io/test', h.out(headers)['Location'])
|
|
205
|
+
end
|
|
206
|
+
|
|
153
207
|
#########################
|
|
154
208
|
# GET SETTINGS
|
|
155
209
|
#########################
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wovnrb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.07
|
|
4
|
+
version: 0.2.07.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeff Sandford
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: nokogumbo
|
|
@@ -388,4 +388,3 @@ test_files:
|
|
|
388
388
|
- test/lib/wovnrb_test.rb
|
|
389
389
|
- test/services/url_test.rb
|
|
390
390
|
- test/test_helper.rb
|
|
391
|
-
has_rdoc:
|