rack-ketai 0.2.1 → 0.2.2
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.
- data/VERSION +1 -1
- data/lib/rack/ketai/carrier/abstract.rb +1 -1
- data/rack-ketai.gemspec +3 -2
- data/spec/unit/valid_addr_spec.rb +11 -0
- metadata +4 -8
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
@@ -141,7 +141,7 @@ module Rack::Ketai::Carrier
|
|
141
141
|
|
142
142
|
# キャリアのIPアドレス帯を利用しているか
|
143
143
|
def valid_addr?
|
144
|
-
self.class.valid_ip? @env['HTTP_X_FORWARDED_FOR']
|
144
|
+
self.class.valid_ip? @env['HTTP_X_FORWARDED_FOR'] ? @env['HTTP_X_FORWARDED_FOR'].sub(/,.+$/, '') : @env['REMOTE_ADDR']
|
145
145
|
end
|
146
146
|
alias :valid_ip? :valid_addr?
|
147
147
|
|
data/rack-ketai.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rack-ketai}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Yuichi Takeuchi"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-22}
|
13
13
|
s.email = %q{info@takeyu-web.com}
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"README.rdoc"
|
@@ -58,6 +58,7 @@ Gem::Specification.new do |s|
|
|
58
58
|
"spec/unit/docomo_spec.rb",
|
59
59
|
"spec/unit/emoticon_filter_spec.rb",
|
60
60
|
"spec/unit/filter_spec.rb",
|
61
|
+
"spec/unit/general_spec.rb",
|
61
62
|
"spec/unit/gps_spec.rb",
|
62
63
|
"spec/unit/iphone_spec.rb",
|
63
64
|
"spec/unit/middleware_spec.rb",
|
@@ -2,6 +2,15 @@
|
|
2
2
|
require 'rack/ketai/carrier/docomo'
|
3
3
|
describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
|
4
4
|
|
5
|
+
def proxy_from(proxy_addr, carrier, addr)
|
6
|
+
env = Rack::MockRequest.env_for('http://hoge.com/dummy',
|
7
|
+
'HTTP_USER_AGENT' => 'DoCoMo/1.0/N505i/c20/TB/W24H12',
|
8
|
+
'HTTP_X_DCMGUID' => '0123abC',
|
9
|
+
'REMOTE_ADDR' => proxy_addr,
|
10
|
+
'HTTP_X_FORWARDED_FOR' => [addr, proxy_addr].join(', '))
|
11
|
+
carrier.new(env)
|
12
|
+
end
|
13
|
+
|
5
14
|
def from(carrier, addr)
|
6
15
|
env = Rack::MockRequest.env_for('http://hoge.com/dummy',
|
7
16
|
'HTTP_USER_AGENT' => 'DoCoMo/1.0/N505i/c20/TB/W24H12',
|
@@ -64,6 +73,7 @@ describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
|
|
64
73
|
from(klass, addrs.first.to_s).should be_valid_addr
|
65
74
|
from(klass, addrs[(addrs.size - 1)/2].to_s).should be_valid_addr
|
66
75
|
from(klass, addrs.last.to_s).should be_valid_addr
|
76
|
+
proxy_from('192.168.1.1', klass, addrs.first.to_s).should be_valid_addr # プロキシ越し
|
67
77
|
end
|
68
78
|
end
|
69
79
|
end
|
@@ -78,6 +88,7 @@ describe "Rack::Ketai::Carrier::*.valid_addr? を使うとき" do
|
|
78
88
|
from(klass, addrs.first.to_s).should_not be_valid_addr
|
79
89
|
from(klass, addrs[(addrs.size - 1)/2].to_s).should_not be_valid_addr
|
80
90
|
from(klass, addrs.last.to_s).should_not be_valid_addr
|
91
|
+
proxy_from('192.168.1.1', klass, addrs.first.to_s).should_not be_valid_addr # プロキシ越し
|
81
92
|
end
|
82
93
|
end
|
83
94
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-ketai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 21
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
8
|
+
- 2
|
9
|
+
version: 0.2.2
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Yuichi Takeuchi
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-11-
|
17
|
+
date: 2010-11-22 00:00:00 +09:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 23
|
30
28
|
segments:
|
31
29
|
- 1
|
32
30
|
- 0
|
@@ -86,6 +84,7 @@ files:
|
|
86
84
|
- spec/unit/docomo_spec.rb
|
87
85
|
- spec/unit/emoticon_filter_spec.rb
|
88
86
|
- spec/unit/filter_spec.rb
|
87
|
+
- spec/unit/general_spec.rb
|
89
88
|
- spec/unit/gps_spec.rb
|
90
89
|
- spec/unit/iphone_spec.rb
|
91
90
|
- spec/unit/middleware_spec.rb
|
@@ -98,7 +97,6 @@ files:
|
|
98
97
|
- tools/update_speclist.rb
|
99
98
|
- vendor/datum_conv/MIT-LICENSE
|
100
99
|
- vendor/datum_conv/lib/datum_conv.rb
|
101
|
-
- spec/unit/general_spec.rb
|
102
100
|
has_rdoc: true
|
103
101
|
homepage: http://github.com/take-yu/rack-ketai
|
104
102
|
licenses: []
|
@@ -113,7 +111,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
111
|
requirements:
|
114
112
|
- - ">="
|
115
113
|
- !ruby/object:Gem::Version
|
116
|
-
hash: 3
|
117
114
|
segments:
|
118
115
|
- 0
|
119
116
|
version: "0"
|
@@ -122,7 +119,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
119
|
requirements:
|
123
120
|
- - ">="
|
124
121
|
- !ruby/object:Gem::Version
|
125
|
-
hash: 3
|
126
122
|
segments:
|
127
123
|
- 0
|
128
124
|
version: "0"
|