mongrel2 0.20.3 → 0.21.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.
- data.tar.gz.sig +0 -0
- data/ChangeLog +48 -3
- data/History.rdoc +10 -0
- data/Rakefile +1 -0
- data/lib/mongrel2.rb +2 -2
- data/lib/mongrel2/config.rb +4 -3
- data/lib/mongrel2/handler.rb +1 -0
- data/lib/mongrel2/httprequest.rb +7 -0
- data/spec/mongrel2/httprequest_spec.rb +14 -0
- metadata +109 -34
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/ChangeLog
CHANGED
@@ -1,3 +1,48 @@
|
|
1
|
+
2012-04-23 Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
* Rakefile:
|
4
|
+
Activate deveiate Hoe plugin
|
5
|
+
[4b74d9363949] [github/master, tip]
|
6
|
+
|
7
|
+
* lib/mongrel2/handler.rb:
|
8
|
+
Log the request at INFO, too.
|
9
|
+
[b6f11e532b29]
|
10
|
+
|
11
|
+
2012-04-18 Michael Granger <ged@FaerieMUD.org>
|
12
|
+
|
13
|
+
* lib/mongrel2/config.rb:
|
14
|
+
Rename the defaults for Mongrel2::Config.
|
15
|
+
|
16
|
+
This was changed to conform with Configurability's defaults API. The
|
17
|
+
old name was aliased to the new for backward-compatibility.
|
18
|
+
[c3bd7b10d758]
|
19
|
+
|
20
|
+
2012-04-12 Mahlon E. Smith <mahlon@martini.nu>
|
21
|
+
|
22
|
+
* lib/mongrel2/httprequest.rb, spec/mongrel2/httprequest_spec.rb:
|
23
|
+
Add a Mongrel2::HTTPRequest#remote_ip method. This should support
|
24
|
+
both the current Mongrel (1.7.5) and the future plan for appended X
|
25
|
+
-Forwarded-For headers.
|
26
|
+
[4a241cca71d5]
|
27
|
+
|
28
|
+
2012-04-12 Michael Granger <ged@FaerieMUD.org>
|
29
|
+
|
30
|
+
* .hgtags:
|
31
|
+
Added tag v0.20.3 for changeset ea27cb7efdd5
|
32
|
+
[5e35f7001c58]
|
33
|
+
|
34
|
+
* .hgsigs:
|
35
|
+
Added signature for changeset e27a161d2009
|
36
|
+
[ea27cb7efdd5] [v0.20.3]
|
37
|
+
|
38
|
+
* History.rdoc, lib/mongrel2.rb:
|
39
|
+
Bump the patch version and update history.
|
40
|
+
[e27a161d2009]
|
41
|
+
|
42
|
+
* lib/mongrel2/testing.rb:
|
43
|
+
Fix a require in mongrel2/testing.
|
44
|
+
[081cc06dd255]
|
45
|
+
|
1
46
|
2012-04-11 Michael Granger <ged@FaerieMUD.org>
|
2
47
|
|
3
48
|
* lib/mongrel2/config.rb:
|
@@ -5,7 +50,7 @@
|
|
5
50
|
|
6
51
|
This makes it possible to configure with a path again, and the
|
7
52
|
Config class will choose the right adapter for you.
|
8
|
-
[47450781e385]
|
53
|
+
[47450781e385]
|
9
54
|
|
10
55
|
* README.rdoc:
|
11
56
|
Move the "other implementations" section to the bottom of the
|
@@ -16,7 +61,7 @@
|
|
16
61
|
|
17
62
|
* README.rdoc, Rakefile:
|
18
63
|
Set docs to fivefish
|
19
|
-
[551a2111a045]
|
64
|
+
[551a2111a045]
|
20
65
|
|
21
66
|
* .hgtags:
|
22
67
|
Added tag v0.20.2 for changeset 2101ab88fa3c
|
@@ -150,7 +195,7 @@
|
|
150
195
|
.database_initialized?, so add a new .without_sql_logging method for
|
151
196
|
temporarily disabling SQL logging, and wrap that around the methods
|
152
197
|
in quesion.
|
153
|
-
[6b62343b4e5a]
|
198
|
+
[6b62343b4e5a] [github/master@default]
|
154
199
|
|
155
200
|
* .rvm.gems, Rakefile:
|
156
201
|
Add simplecov to dev dependencies
|
data/History.rdoc
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== v0.21.0 [2012-04-23] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
- Rename the defaults for Mongrel2::Config.
|
4
|
+
This was changed to conform with Configurability's defaults API. The
|
5
|
+
old name was aliased to the new for backward-compatibility.
|
6
|
+
- Add a Mongrel2::HTTPRequest#remote_ip method. This should support
|
7
|
+
both the current Mongrel (1.7.5) and the future plan for appended
|
8
|
+
X-Forwarded-For headers. [mahlon]
|
9
|
+
|
10
|
+
|
1
11
|
== v0.20.3 [2012-04-12] Michael Granger <ged@FaerieMUD.org>
|
2
12
|
|
3
13
|
- Fix a require in mongrel2/testing.
|
data/Rakefile
CHANGED
data/lib/mongrel2.rb
CHANGED
@@ -14,10 +14,10 @@ module Mongrel2
|
|
14
14
|
abort "\n\n>>> Mongrel2 requires Ruby 1.9.2 or later. <<<\n\n" if RUBY_VERSION < '1.9.2'
|
15
15
|
|
16
16
|
# Library version constant
|
17
|
-
VERSION = '0.
|
17
|
+
VERSION = '0.21.0'
|
18
18
|
|
19
19
|
# Version-control revision constant
|
20
|
-
REVISION = %q$Revision:
|
20
|
+
REVISION = %q$Revision: 0ecd9e4d21ee $
|
21
21
|
|
22
22
|
|
23
23
|
require 'mongrel2/logging'
|
data/lib/mongrel2/config.rb
CHANGED
@@ -53,9 +53,10 @@ module Mongrel2
|
|
53
53
|
|
54
54
|
|
55
55
|
# Configuration defaults
|
56
|
-
|
56
|
+
CONFIG_DEFAULTS = {
|
57
57
|
:configdb => Mongrel2::DEFAULT_CONFIG_URI,
|
58
58
|
}
|
59
|
+
DEFAULTS = CONFIG_DEFAULTS
|
59
60
|
|
60
61
|
# The Pathname of the data directory
|
61
62
|
DATA_DIR = if Gem.datadir( 'mongrel2' )
|
@@ -105,11 +106,11 @@ module Mongrel2
|
|
105
106
|
### Configurability API -- called when the configuration is loaded with the
|
106
107
|
### 'mongrel2' section of the config file if there is one. This method can also be used
|
107
108
|
### without Configurability by passing an object that can be merged with
|
108
|
-
### Mongrel2::Config::
|
109
|
+
### Mongrel2::Config::CONFIG_DEFAULTS.
|
109
110
|
def self::configure( config=nil )
|
110
111
|
return unless config
|
111
112
|
|
112
|
-
config =
|
113
|
+
config = CONFIG_DEFAULTS.merge( config )
|
113
114
|
|
114
115
|
if dbspec = config[ :configdb ]
|
115
116
|
# Assume it's a path to a sqlite database if it doesn't have a schema
|
data/lib/mongrel2/handler.rb
CHANGED
data/lib/mongrel2/httprequest.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'mongrel2/request' unless defined?( Mongrel2::Request )
|
4
4
|
require 'mongrel2/mixins'
|
5
5
|
require 'mongrel2/httpresponse'
|
6
|
+
require 'ipaddr'
|
6
7
|
|
7
8
|
|
8
9
|
# The Mongrel2 HTTP Request class. Instances of this class represent an HTTP request from
|
@@ -78,6 +79,12 @@ class Mongrel2::HTTPRequest < Mongrel2::Request
|
|
78
79
|
end
|
79
80
|
|
80
81
|
|
82
|
+
### Fetch the original requestor IP address.
|
83
|
+
def remote_ip
|
84
|
+
ips = [ self.headers.x_forwarded_for ]
|
85
|
+
return IPAddr.new( ips.flatten.first )
|
86
|
+
end
|
87
|
+
|
81
88
|
|
82
89
|
#########
|
83
90
|
protected
|
@@ -112,6 +112,20 @@ describe Mongrel2::HTTPRequest do
|
|
112
112
|
@req.content_encoding.should == 'identity'
|
113
113
|
end
|
114
114
|
|
115
|
+
it "provides a convenience method for fetching the requestor's IP address" do
|
116
|
+
@req.headers.merge!(
|
117
|
+
'X-Forwarded-For' => '127.0.0.1'
|
118
|
+
)
|
119
|
+
@req.remote_ip.to_s.should == '127.0.0.1'
|
120
|
+
end
|
121
|
+
|
122
|
+
it "fetching the requestor's IP address even when travelling via proxies" do
|
123
|
+
@req.headers.merge!(
|
124
|
+
'X-Forwarded-For' => [ '127.0.0.1', '8.8.8.8', '4.4.4.4' ]
|
125
|
+
)
|
126
|
+
@req.remote_ip.to_s.should == '127.0.0.1'
|
127
|
+
end
|
128
|
+
|
115
129
|
end
|
116
130
|
|
117
131
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongrel2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -36,11 +36,11 @@ cert_chain:
|
|
36
36
|
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
37
37
|
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
38
38
|
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2012-04-
|
39
|
+
date: 2012-04-23 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: nokogiri
|
43
|
-
requirement:
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
44
|
none: false
|
45
45
|
requirements:
|
46
46
|
- - ~>
|
@@ -48,10 +48,15 @@ dependencies:
|
|
48
48
|
version: '1.5'
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
|
-
version_requirements:
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ~>
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '1.5'
|
52
57
|
- !ruby/object:Gem::Dependency
|
53
58
|
name: sequel
|
54
|
-
requirement:
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
55
60
|
none: false
|
56
61
|
requirements:
|
57
62
|
- - ~>
|
@@ -59,10 +64,15 @@ dependencies:
|
|
59
64
|
version: '3.34'
|
60
65
|
type: :runtime
|
61
66
|
prerelease: false
|
62
|
-
version_requirements:
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ~>
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3.34'
|
63
73
|
- !ruby/object:Gem::Dependency
|
64
74
|
name: amalgalite
|
65
|
-
requirement:
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
66
76
|
none: false
|
67
77
|
requirements:
|
68
78
|
- - ~>
|
@@ -70,10 +80,15 @@ dependencies:
|
|
70
80
|
version: '1.1'
|
71
81
|
type: :runtime
|
72
82
|
prerelease: false
|
73
|
-
version_requirements:
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ~>
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.1'
|
74
89
|
- !ruby/object:Gem::Dependency
|
75
90
|
name: tnetstring
|
76
|
-
requirement:
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
77
92
|
none: false
|
78
93
|
requirements:
|
79
94
|
- - ~>
|
@@ -81,10 +96,15 @@ dependencies:
|
|
81
96
|
version: '0.3'
|
82
97
|
type: :runtime
|
83
98
|
prerelease: false
|
84
|
-
version_requirements:
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0.3'
|
85
105
|
- !ruby/object:Gem::Dependency
|
86
106
|
name: yajl-ruby
|
87
|
-
requirement:
|
107
|
+
requirement: !ruby/object:Gem::Requirement
|
88
108
|
none: false
|
89
109
|
requirements:
|
90
110
|
- - ~>
|
@@ -92,10 +112,15 @@ dependencies:
|
|
92
112
|
version: '1.0'
|
93
113
|
type: :runtime
|
94
114
|
prerelease: false
|
95
|
-
version_requirements:
|
115
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ~>
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '1.0'
|
96
121
|
- !ruby/object:Gem::Dependency
|
97
122
|
name: trollop
|
98
|
-
requirement:
|
123
|
+
requirement: !ruby/object:Gem::Requirement
|
99
124
|
none: false
|
100
125
|
requirements:
|
101
126
|
- - ~>
|
@@ -103,10 +128,15 @@ dependencies:
|
|
103
128
|
version: '1.16'
|
104
129
|
type: :runtime
|
105
130
|
prerelease: false
|
106
|
-
version_requirements:
|
131
|
+
version_requirements: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ~>
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '1.16'
|
107
137
|
- !ruby/object:Gem::Dependency
|
108
138
|
name: sysexits
|
109
|
-
requirement:
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
110
140
|
none: false
|
111
141
|
requirements:
|
112
142
|
- - ~>
|
@@ -114,10 +144,15 @@ dependencies:
|
|
114
144
|
version: '1.0'
|
115
145
|
type: :runtime
|
116
146
|
prerelease: false
|
117
|
-
version_requirements:
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
149
|
+
requirements:
|
150
|
+
- - ~>
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.0'
|
118
153
|
- !ruby/object:Gem::Dependency
|
119
154
|
name: zmq
|
120
|
-
requirement:
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
121
156
|
none: false
|
122
157
|
requirements:
|
123
158
|
- - ~>
|
@@ -125,10 +160,15 @@ dependencies:
|
|
125
160
|
version: 2.1.4
|
126
161
|
type: :runtime
|
127
162
|
prerelease: false
|
128
|
-
version_requirements:
|
163
|
+
version_requirements: !ruby/object:Gem::Requirement
|
164
|
+
none: false
|
165
|
+
requirements:
|
166
|
+
- - ~>
|
167
|
+
- !ruby/object:Gem::Version
|
168
|
+
version: 2.1.4
|
129
169
|
- !ruby/object:Gem::Dependency
|
130
170
|
name: hoe-mercurial
|
131
|
-
requirement:
|
171
|
+
requirement: !ruby/object:Gem::Requirement
|
132
172
|
none: false
|
133
173
|
requirements:
|
134
174
|
- - ~>
|
@@ -136,21 +176,31 @@ dependencies:
|
|
136
176
|
version: 1.4.0
|
137
177
|
type: :development
|
138
178
|
prerelease: false
|
139
|
-
version_requirements:
|
179
|
+
version_requirements: !ruby/object:Gem::Requirement
|
180
|
+
none: false
|
181
|
+
requirements:
|
182
|
+
- - ~>
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: 1.4.0
|
140
185
|
- !ruby/object:Gem::Dependency
|
141
186
|
name: hoe-highline
|
142
|
-
requirement:
|
187
|
+
requirement: !ruby/object:Gem::Requirement
|
143
188
|
none: false
|
144
189
|
requirements:
|
145
190
|
- - ~>
|
146
191
|
- !ruby/object:Gem::Version
|
147
|
-
version: 0.1
|
192
|
+
version: 0.0.1
|
148
193
|
type: :development
|
149
194
|
prerelease: false
|
150
|
-
version_requirements:
|
195
|
+
version_requirements: !ruby/object:Gem::Requirement
|
196
|
+
none: false
|
197
|
+
requirements:
|
198
|
+
- - ~>
|
199
|
+
- !ruby/object:Gem::Version
|
200
|
+
version: 0.0.1
|
151
201
|
- !ruby/object:Gem::Dependency
|
152
202
|
name: rdoc
|
153
|
-
requirement:
|
203
|
+
requirement: !ruby/object:Gem::Requirement
|
154
204
|
none: false
|
155
205
|
requirements:
|
156
206
|
- - ~>
|
@@ -158,10 +208,15 @@ dependencies:
|
|
158
208
|
version: '3.10'
|
159
209
|
type: :development
|
160
210
|
prerelease: false
|
161
|
-
version_requirements:
|
211
|
+
version_requirements: !ruby/object:Gem::Requirement
|
212
|
+
none: false
|
213
|
+
requirements:
|
214
|
+
- - ~>
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '3.10'
|
162
217
|
- !ruby/object:Gem::Dependency
|
163
218
|
name: configurability
|
164
|
-
requirement:
|
219
|
+
requirement: !ruby/object:Gem::Requirement
|
165
220
|
none: false
|
166
221
|
requirements:
|
167
222
|
- - ~>
|
@@ -169,10 +224,15 @@ dependencies:
|
|
169
224
|
version: '1.0'
|
170
225
|
type: :development
|
171
226
|
prerelease: false
|
172
|
-
version_requirements:
|
227
|
+
version_requirements: !ruby/object:Gem::Requirement
|
228
|
+
none: false
|
229
|
+
requirements:
|
230
|
+
- - ~>
|
231
|
+
- !ruby/object:Gem::Version
|
232
|
+
version: '1.0'
|
173
233
|
- !ruby/object:Gem::Dependency
|
174
234
|
name: simplecov
|
175
|
-
requirement:
|
235
|
+
requirement: !ruby/object:Gem::Requirement
|
176
236
|
none: false
|
177
237
|
requirements:
|
178
238
|
- - ~>
|
@@ -180,10 +240,15 @@ dependencies:
|
|
180
240
|
version: '0.6'
|
181
241
|
type: :development
|
182
242
|
prerelease: false
|
183
|
-
version_requirements:
|
243
|
+
version_requirements: !ruby/object:Gem::Requirement
|
244
|
+
none: false
|
245
|
+
requirements:
|
246
|
+
- - ~>
|
247
|
+
- !ruby/object:Gem::Version
|
248
|
+
version: '0.6'
|
184
249
|
- !ruby/object:Gem::Dependency
|
185
250
|
name: hoe-deveiate
|
186
|
-
requirement:
|
251
|
+
requirement: !ruby/object:Gem::Requirement
|
187
252
|
none: false
|
188
253
|
requirements:
|
189
254
|
- - ~>
|
@@ -191,10 +256,15 @@ dependencies:
|
|
191
256
|
version: '0.1'
|
192
257
|
type: :development
|
193
258
|
prerelease: false
|
194
|
-
version_requirements:
|
259
|
+
version_requirements: !ruby/object:Gem::Requirement
|
260
|
+
none: false
|
261
|
+
requirements:
|
262
|
+
- - ~>
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0.1'
|
195
265
|
- !ruby/object:Gem::Dependency
|
196
266
|
name: hoe
|
197
|
-
requirement:
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
198
268
|
none: false
|
199
269
|
requirements:
|
200
270
|
- - ~>
|
@@ -202,7 +272,12 @@ dependencies:
|
|
202
272
|
version: '3.0'
|
203
273
|
type: :development
|
204
274
|
prerelease: false
|
205
|
-
version_requirements:
|
275
|
+
version_requirements: !ruby/object:Gem::Requirement
|
276
|
+
none: false
|
277
|
+
requirements:
|
278
|
+
- - ~>
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
version: '3.0'
|
206
281
|
description: ! 'Ruby-Mongrel2 is a complete Ruby (1.9-only) connector for
|
207
282
|
|
208
283
|
Mongrel2[http://mongrel2.org/].
|
@@ -332,7 +407,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
332
407
|
version: '0'
|
333
408
|
requirements: []
|
334
409
|
rubyforge_project: mongrel2
|
335
|
-
rubygems_version: 1.8.
|
410
|
+
rubygems_version: 1.8.21
|
336
411
|
signing_key:
|
337
412
|
specification_version: 3
|
338
413
|
summary: Ruby-Mongrel2 is a complete Ruby (1.9-only) connector for Mongrel2[http://mongrel2.org/]
|
metadata.gz.sig
CHANGED
Binary file
|