goliath 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of goliath might be problematic. Click here for more details.
- data/.gemtest +0 -0
- data/.gitignore +12 -9
- data/README.md +4 -5
- data/Rakefile +1 -0
- data/examples/activerecord/srv.rb +0 -2
- data/examples/async_upload.rb +0 -4
- data/examples/conf_test.rb +0 -1
- data/examples/config/content_stream.rb +33 -0
- data/examples/config/http_log.rb +7 -5
- data/examples/content_stream.rb +41 -0
- data/examples/echo.rb +1 -5
- data/examples/http_log.rb +0 -1
- data/examples/valid.rb +0 -4
- data/goliath.gemspec +3 -1
- data/lib/goliath/api.rb +12 -3
- data/lib/goliath/application.rb +5 -1
- data/lib/goliath/connection.rb +1 -2
- data/lib/goliath/constants.rb +2 -1
- data/lib/goliath/env.rb +7 -0
- data/lib/goliath/goliath.rb +8 -8
- data/lib/goliath/rack/params.rb +25 -2
- data/lib/goliath/request.rb +13 -3
- data/lib/goliath/runner.rb +7 -1
- data/lib/goliath/server.rb +6 -7
- data/lib/goliath/test_helper.rb +10 -4
- data/lib/goliath/version.rb +1 -1
- data/spec/integration/async_request_processing.rb +0 -2
- data/spec/integration/echo_spec.rb +37 -2
- data/spec/integration/empty_body_spec.rb +20 -0
- data/spec/integration/http_log_spec.rb +138 -0
- data/spec/integration/keepalive_spec.rb +0 -2
- data/spec/integration/pipelining_spec.rb +0 -2
- data/spec/integration/reloader_spec.rb +43 -0
- data/spec/integration/valid_spec.rb +0 -2
- data/spec/spec_helper.rb +6 -0
- data/spec/unit/env_spec.rb +2 -2
- data/spec/unit/rack/formatters/json_spec.rb +2 -2
- data/spec/unit/rack/formatters/xml_spec.rb +3 -3
- data/spec/unit/rack/heartbeat_spec.rb +1 -1
- data/spec/unit/rack/params_spec.rb +66 -3
- data/spec/unit/rack/render_spec.rb +1 -1
- data/spec/unit/rack/validation/default_params_spec.rb +3 -3
- data/spec/unit/rack/validation/numeric_range_spec.rb +3 -3
- data/spec/unit/rack/validation/request_method_spec.rb +1 -1
- data/spec/unit/rack/validation/required_param_spec.rb +2 -2
- data/spec/unit/rack/validation/required_value_spec.rb +2 -2
- data/spec/unit/rack/validation_error_spec.rb +1 -1
- data/spec/unit/request_spec.rb +23 -4
- metadata +39 -65
@@ -4,7 +4,7 @@ require 'nokogiri'
|
|
4
4
|
|
5
5
|
describe Goliath::Rack::Formatters::XML do
|
6
6
|
it 'accepts an app' do
|
7
|
-
lambda { Goliath::Rack::Formatters::XML.new('my app') }.should_not raise_error
|
7
|
+
lambda { Goliath::Rack::Formatters::XML.new('my app') }.should_not raise_error
|
8
8
|
end
|
9
9
|
|
10
10
|
describe 'with a formatter' do
|
@@ -31,7 +31,7 @@ describe Goliath::Rack::Formatters::XML do
|
|
31
31
|
@app.should_receive(:call).and_return([200, {'Content-Type' => 'application/xml'}, {:a => 1, :b => 2}])
|
32
32
|
|
33
33
|
status, header, body = @xml.call({})
|
34
|
-
lambda { Nokogiri.parse(body.first).search('a').inner_text.should == '1' }.should_not raise_error
|
34
|
+
lambda { Nokogiri.parse(body.first).search('a').inner_text.should == '1' }.should_not raise_error
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'generates arrays correctly' do
|
@@ -42,7 +42,7 @@ describe Goliath::Rack::Formatters::XML do
|
|
42
42
|
doc = Nokogiri.parse(body.first)
|
43
43
|
doc.search('item').first.inner_text.should == '1'
|
44
44
|
doc.search('item').last.inner_text.should == '2'
|
45
|
-
}.should_not raise_error
|
45
|
+
}.should_not raise_error
|
46
46
|
end
|
47
47
|
|
48
48
|
it "doesn't format to xml if the type is not application/xml" do
|
@@ -4,7 +4,7 @@ require 'goliath/env'
|
|
4
4
|
|
5
5
|
describe Goliath::Rack::Heartbeat do
|
6
6
|
it 'accepts an app' do
|
7
|
-
lambda { Goliath::Rack::Heartbeat.new('my app') }.should_not raise_error
|
7
|
+
lambda { Goliath::Rack::Heartbeat.new('my app') }.should_not raise_error
|
8
8
|
end
|
9
9
|
|
10
10
|
describe 'with the middleware' do
|
@@ -3,13 +3,14 @@ require 'goliath/rack/params'
|
|
3
3
|
|
4
4
|
describe Goliath::Rack::Params do
|
5
5
|
it 'accepts an app' do
|
6
|
-
lambda { Goliath::Rack::Params.new('my app') }.should_not raise_error
|
6
|
+
lambda { Goliath::Rack::Params.new('my app') }.should_not raise_error
|
7
7
|
end
|
8
8
|
|
9
9
|
describe 'with middleware' do
|
10
10
|
before(:each) do
|
11
11
|
@app = mock('app').as_null_object
|
12
12
|
@env = {}
|
13
|
+
@env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded; charset=utf-8'
|
13
14
|
@params = Goliath::Rack::Params.new(@app)
|
14
15
|
end
|
15
16
|
|
@@ -21,18 +22,26 @@ describe Goliath::Rack::Params do
|
|
21
22
|
ret['baz'].should == 'bonkey'
|
22
23
|
end
|
23
24
|
|
25
|
+
it 'parses the nested query string' do
|
26
|
+
@env['QUERY_STRING'] = 'foo[bar]=baz'
|
27
|
+
|
28
|
+
ret = @params.retrieve_params(@env)
|
29
|
+
ret['foo'].should == {'bar' => 'baz'}
|
30
|
+
end
|
31
|
+
|
24
32
|
it 'parses the post body' do
|
25
33
|
@env['rack.input'] = StringIO.new
|
26
|
-
@env['rack.input'] << "foo=bar&baz=bonkey"
|
34
|
+
@env['rack.input'] << "foo=bar&baz=bonkey&zonk[donk]=monk"
|
27
35
|
@env['rack.input'].rewind
|
28
36
|
|
29
37
|
ret = @params.retrieve_params(@env)
|
30
38
|
ret['foo'].should == 'bar'
|
31
39
|
ret['baz'].should == 'bonkey'
|
40
|
+
ret['zonk'].should == {'donk' => 'monk'}
|
32
41
|
end
|
33
42
|
|
34
43
|
it 'parses arrays of data' do
|
35
|
-
@env['QUERY_STRING'] = 'foo=bar&foo=baz&foo=foos'
|
44
|
+
@env['QUERY_STRING'] = 'foo[]=bar&foo[]=baz&foo[]=foos'
|
36
45
|
|
37
46
|
ret = @params.retrieve_params(@env)
|
38
47
|
ret['foo'].is_a?(Array).should be_true
|
@@ -40,6 +49,27 @@ describe Goliath::Rack::Params do
|
|
40
49
|
ret['foo'].should == %w(bar baz foos)
|
41
50
|
end
|
42
51
|
|
52
|
+
it 'parses multipart data' do
|
53
|
+
@env[Goliath::Constants::CONTENT_TYPE] = 'multipart/boundary="AaB03x"'
|
54
|
+
@env['rack.input'] = StringIO.new
|
55
|
+
@env['rack.input'] <<"--AaB03x\r
|
56
|
+
Content-Disposition: form-data; name=\"submit-name\"\r
|
57
|
+
\r
|
58
|
+
Larry\r
|
59
|
+
--AaB03x\r
|
60
|
+
Content-Disposition: form-data; name=\"submit-name-with-content\"\r
|
61
|
+
\r
|
62
|
+
Berry\r
|
63
|
+
--AaB03x--\r
|
64
|
+
"
|
65
|
+
|
66
|
+
@env[Goliath::Constants::CONTENT_LENGTH] = @env['rack.input'].length
|
67
|
+
|
68
|
+
ret = @params.retrieve_params(@env)
|
69
|
+
ret['submit-name'].should == 'Larry'
|
70
|
+
ret['submit-name-with-content'].should == 'Berry'
|
71
|
+
end
|
72
|
+
|
43
73
|
it 'combines query string and post body params' do
|
44
74
|
@env['QUERY_STRING'] = "baz=bar"
|
45
75
|
|
@@ -90,5 +120,38 @@ describe Goliath::Rack::Params do
|
|
90
120
|
headers.should == app_headers
|
91
121
|
body.should == app_body
|
92
122
|
end
|
123
|
+
|
124
|
+
context 'content type' do
|
125
|
+
it "parses application/x-www-form-urlencoded" do
|
126
|
+
@env['CONTENT_TYPE'] = 'application/x-www-form-urlencoded; charset=utf-8'
|
127
|
+
@env['rack.input'] = StringIO.new
|
128
|
+
@env['rack.input'] << "foos=bonkey"
|
129
|
+
@env['rack.input'].rewind
|
130
|
+
|
131
|
+
ret = @params.retrieve_params(@env)
|
132
|
+
ret['foos'].should == 'bonkey'
|
133
|
+
end
|
134
|
+
|
135
|
+
it "parses json" do
|
136
|
+
@env['CONTENT_TYPE'] = 'application/json'
|
137
|
+
@env['rack.input'] = StringIO.new
|
138
|
+
@env['rack.input'] << %|{"foo":"bar"}|
|
139
|
+
@env['rack.input'].rewind
|
140
|
+
|
141
|
+
ret = @params.retrieve_params(@env)
|
142
|
+
ret['foo'].should == 'bar'
|
143
|
+
end
|
144
|
+
|
145
|
+
|
146
|
+
it "doesn't parse unknown content types" do
|
147
|
+
@env['CONTENT_TYPE'] = 'fake/form -- type'
|
148
|
+
@env['rack.input'] = StringIO.new
|
149
|
+
@env['rack.input'] << %|{"foo":"bar"}|
|
150
|
+
@env['rack.input'].rewind
|
151
|
+
|
152
|
+
ret = @params.retrieve_params(@env)
|
153
|
+
ret.should == {}
|
154
|
+
end
|
155
|
+
end
|
93
156
|
end
|
94
157
|
end
|
@@ -13,7 +13,7 @@ describe Goliath::Rack::Render do
|
|
13
13
|
let(:render) { Goliath::Rack::Render.new(app) }
|
14
14
|
|
15
15
|
it 'accepts an app' do
|
16
|
-
lambda { Goliath::Rack::Render.new('my app') }.should_not raise_error
|
16
|
+
lambda { Goliath::Rack::Render.new('my app') }.should_not raise_error
|
17
17
|
end
|
18
18
|
|
19
19
|
it 'returns the status, body and app headers' do
|
@@ -4,15 +4,15 @@ require 'goliath/rack/validation/default_params'
|
|
4
4
|
describe Goliath::Rack::Validation::DefaultParams do
|
5
5
|
it 'accepts an app' do
|
6
6
|
opts = {:defaults => ['title'], :key => 'fields'}
|
7
|
-
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', opts) }.should_not raise_error
|
7
|
+
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', opts) }.should_not raise_error
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'requires defaults to be set' do
|
11
|
-
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', {:key => 'test'}) }.should raise_error
|
11
|
+
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', {:key => 'test'}) }.should raise_error
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'requires key to be set' do
|
15
|
-
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', {:defaults => 'test'}) }.should raise_error
|
15
|
+
lambda { Goliath::Rack::Validation::DefaultParams.new('my app', {:defaults => 'test'}) }.should raise_error
|
16
16
|
end
|
17
17
|
|
18
18
|
describe 'with middleware' do
|
@@ -9,7 +9,7 @@ describe Goliath::Rack::Validation::NumericRange do
|
|
9
9
|
|
10
10
|
it 'accepts options on create' do
|
11
11
|
opts = { :min => 1, :key => 2 }
|
12
|
-
lambda { Goliath::Rack::Validation::NumericRange.new('my app', opts) }.should_not raise_error
|
12
|
+
lambda { Goliath::Rack::Validation::NumericRange.new('my app', opts) }.should_not raise_error
|
13
13
|
end
|
14
14
|
|
15
15
|
describe 'with middleware' do
|
@@ -59,11 +59,11 @@ describe Goliath::Rack::Validation::NumericRange do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'raises error if key is not set' do
|
62
|
-
lambda { Goliath::Rack::Validation::NumericRange.new('app', {:min => 5}) }.should raise_error
|
62
|
+
lambda { Goliath::Rack::Validation::NumericRange.new('app', {:min => 5}) }.should raise_error
|
63
63
|
end
|
64
64
|
|
65
65
|
it 'raises error if neither min nor max set' do
|
66
|
-
lambda { Goliath::Rack::Validation::NumericRange.new('app', {:key => 5}) }.should raise_error
|
66
|
+
lambda { Goliath::Rack::Validation::NumericRange.new('app', {:key => 5}) }.should raise_error
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'uses min if default not set' do
|
@@ -7,7 +7,7 @@ describe Goliath::Rack::Validation::RequestMethod do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'accepts an app' do
|
10
|
-
lambda { Goliath::Rack::Validation::RequestMethod.new('my app') }.should_not raise_error
|
10
|
+
lambda { Goliath::Rack::Validation::RequestMethod.new('my app') }.should_not raise_error
|
11
11
|
end
|
12
12
|
|
13
13
|
describe 'with defaults' do
|
@@ -3,12 +3,12 @@ require 'goliath/rack/validation/required_param'
|
|
3
3
|
|
4
4
|
describe Goliath::Rack::Validation::RequiredParam do
|
5
5
|
it 'accepts an app' do
|
6
|
-
lambda { Goliath::Rack::Validation::RequiredParam.new('my app') }.should_not raise_error
|
6
|
+
lambda { Goliath::Rack::Validation::RequiredParam.new('my app') }.should_not raise_error
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'accepts options on create' do
|
10
10
|
opts = { :type => 1, :key => 2 }
|
11
|
-
lambda { Goliath::Rack::Validation::RequiredParam.new('my app', opts) }.should_not raise_error
|
11
|
+
lambda { Goliath::Rack::Validation::RequiredParam.new('my app', opts) }.should_not raise_error
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'defaults type and key' do
|
@@ -3,12 +3,12 @@ require 'goliath/rack/validation/required_value'
|
|
3
3
|
|
4
4
|
describe Goliath::Rack::Validation::RequiredValue do
|
5
5
|
it 'accepts an app' do
|
6
|
-
lambda { Goliath::Rack::Validation::RequiredValue.new('my app') }.should_not raise_error
|
6
|
+
lambda { Goliath::Rack::Validation::RequiredValue.new('my app') }.should_not raise_error
|
7
7
|
end
|
8
8
|
|
9
9
|
it 'accepts options on create' do
|
10
10
|
opts = { :key => 2, :values => ["foo", "bar"] }
|
11
|
-
lambda { Goliath::Rack::Validation::RequiredValue.new('my app', opts) }.should_not raise_error
|
11
|
+
lambda { Goliath::Rack::Validation::RequiredValue.new('my app', opts) }.should_not raise_error
|
12
12
|
end
|
13
13
|
|
14
14
|
|
@@ -3,7 +3,7 @@ require 'goliath/rack/validation_error'
|
|
3
3
|
|
4
4
|
describe Goliath::Rack::ValidationError do
|
5
5
|
it 'accepts an app' do
|
6
|
-
lambda { Goliath::Rack::ValidationError.new('my app') }.should_not raise_error
|
6
|
+
lambda { Goliath::Rack::ValidationError.new('my app') }.should_not raise_error
|
7
7
|
end
|
8
8
|
|
9
9
|
describe 'with middleware' do
|
data/spec/unit/request_spec.rb
CHANGED
@@ -2,7 +2,6 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Goliath::Request do
|
4
4
|
before(:each) do
|
5
|
-
|
6
5
|
app = mock('app').as_null_object
|
7
6
|
env = Goliath::Env.new
|
8
7
|
|
@@ -10,7 +9,6 @@ describe Goliath::Request do
|
|
10
9
|
end
|
11
10
|
|
12
11
|
describe 'initialization' do
|
13
|
-
|
14
12
|
it 'initializes env defaults' do
|
15
13
|
env = Goliath::Env.new
|
16
14
|
env['INIT'] = 'init'
|
@@ -29,7 +27,6 @@ describe Goliath::Request do
|
|
29
27
|
end
|
30
28
|
|
31
29
|
describe 'process' do
|
32
|
-
|
33
30
|
it 'executes the application' do
|
34
31
|
app_mock = mock('app').as_null_object
|
35
32
|
env_mock = mock('app').as_null_object
|
@@ -40,7 +37,6 @@ describe Goliath::Request do
|
|
40
37
|
|
41
38
|
request.process
|
42
39
|
end
|
43
|
-
|
44
40
|
end
|
45
41
|
|
46
42
|
describe 'finished?' do
|
@@ -54,6 +50,29 @@ describe Goliath::Request do
|
|
54
50
|
|
55
51
|
@r.finished?.should be_true
|
56
52
|
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe 'parse_headers' do
|
56
|
+
it 'sets content_type correctly' do
|
57
|
+
parser = mock('parser').as_null_object
|
57
58
|
|
59
|
+
@r.parse_header({'Content-Type' => 'text/plain'}, parser)
|
60
|
+
@r.env['CONTENT_TYPE'].should == 'text/plain'
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'sets content_length correctly' do
|
64
|
+
parser = mock('parser').as_null_object
|
65
|
+
|
66
|
+
@r.parse_header({'Content-Length' => 42}, parser)
|
67
|
+
@r.env['CONTENT_LENGTH'].should == 42
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'sets server_name and server_port correctly' do
|
71
|
+
parser = mock('parser').as_null_object
|
72
|
+
|
73
|
+
@r.parse_header({'Host' => 'myhost.com:3000'}, parser)
|
74
|
+
@r.env['SERVER_NAME'].should == 'myhost.com'
|
75
|
+
@r.env['SERVER_PORT'].should == '3000'
|
76
|
+
end
|
58
77
|
end
|
59
78
|
end
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: goliath
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 9
|
8
|
-
- 0
|
9
|
-
version: 0.9.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.9.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- dan sinclair
|
@@ -15,7 +11,7 @@ autorequire:
|
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
13
|
|
18
|
-
date: 2011-
|
14
|
+
date: 2011-04-11 00:00:00 -04:00
|
19
15
|
default_executable:
|
20
16
|
dependencies:
|
21
17
|
- !ruby/object:Gem::Dependency
|
@@ -26,12 +22,6 @@ dependencies:
|
|
26
22
|
requirements:
|
27
23
|
- - ">="
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 0
|
32
|
-
- 0
|
33
|
-
- beta
|
34
|
-
- 1
|
35
25
|
version: 1.0.0.beta.1
|
36
26
|
type: :runtime
|
37
27
|
version_requirements: *id001
|
@@ -43,12 +33,6 @@ dependencies:
|
|
43
33
|
requirements:
|
44
34
|
- - ">="
|
45
35
|
- !ruby/object:Gem::Version
|
46
|
-
segments:
|
47
|
-
- 0
|
48
|
-
- 3
|
49
|
-
- 0
|
50
|
-
- beta
|
51
|
-
- 1
|
52
36
|
version: 0.3.0.beta.1
|
53
37
|
type: :runtime
|
54
38
|
version_requirements: *id002
|
@@ -60,8 +44,6 @@ dependencies:
|
|
60
44
|
requirements:
|
61
45
|
- - ">="
|
62
46
|
- !ruby/object:Gem::Version
|
63
|
-
segments:
|
64
|
-
- 0
|
65
47
|
version: "0"
|
66
48
|
type: :runtime
|
67
49
|
version_requirements: *id003
|
@@ -73,8 +55,6 @@ dependencies:
|
|
73
55
|
requirements:
|
74
56
|
- - ">="
|
75
57
|
- !ruby/object:Gem::Version
|
76
|
-
segments:
|
77
|
-
- 0
|
78
58
|
version: "0"
|
79
59
|
type: :runtime
|
80
60
|
version_requirements: *id004
|
@@ -86,9 +66,7 @@ dependencies:
|
|
86
66
|
requirements:
|
87
67
|
- - ">="
|
88
68
|
- !ruby/object:Gem::Version
|
89
|
-
|
90
|
-
- 0
|
91
|
-
version: "0"
|
69
|
+
version: 1.2.2
|
92
70
|
type: :runtime
|
93
71
|
version_requirements: *id005
|
94
72
|
- !ruby/object:Gem::Dependency
|
@@ -99,8 +77,6 @@ dependencies:
|
|
99
77
|
requirements:
|
100
78
|
- - ">="
|
101
79
|
- !ruby/object:Gem::Version
|
102
|
-
segments:
|
103
|
-
- 0
|
104
80
|
version: "0"
|
105
81
|
type: :runtime
|
106
82
|
version_requirements: *id006
|
@@ -112,8 +88,6 @@ dependencies:
|
|
112
88
|
requirements:
|
113
89
|
- - ">="
|
114
90
|
- !ruby/object:Gem::Version
|
115
|
-
segments:
|
116
|
-
- 0
|
117
91
|
version: "0"
|
118
92
|
type: :runtime
|
119
93
|
version_requirements: *id007
|
@@ -125,8 +99,6 @@ dependencies:
|
|
125
99
|
requirements:
|
126
100
|
- - ">="
|
127
101
|
- !ruby/object:Gem::Version
|
128
|
-
segments:
|
129
|
-
- 0
|
130
102
|
version: "0"
|
131
103
|
type: :runtime
|
132
104
|
version_requirements: *id008
|
@@ -138,8 +110,6 @@ dependencies:
|
|
138
110
|
requirements:
|
139
111
|
- - ">="
|
140
112
|
- !ruby/object:Gem::Version
|
141
|
-
segments:
|
142
|
-
- 0
|
143
113
|
version: "0"
|
144
114
|
type: :runtime
|
145
115
|
version_requirements: *id009
|
@@ -151,9 +121,6 @@ dependencies:
|
|
151
121
|
requirements:
|
152
122
|
- - ">"
|
153
123
|
- !ruby/object:Gem::Version
|
154
|
-
segments:
|
155
|
-
- 2
|
156
|
-
- 0
|
157
124
|
version: "2.0"
|
158
125
|
type: :development
|
159
126
|
version_requirements: *id010
|
@@ -165,8 +132,6 @@ dependencies:
|
|
165
132
|
requirements:
|
166
133
|
- - ">="
|
167
134
|
- !ruby/object:Gem::Version
|
168
|
-
segments:
|
169
|
-
- 0
|
170
135
|
version: "0"
|
171
136
|
type: :development
|
172
137
|
version_requirements: *id011
|
@@ -178,12 +143,6 @@ dependencies:
|
|
178
143
|
requirements:
|
179
144
|
- - ">="
|
180
145
|
- !ruby/object:Gem::Version
|
181
|
-
segments:
|
182
|
-
- 1
|
183
|
-
- 0
|
184
|
-
- 0
|
185
|
-
- beta
|
186
|
-
- 1
|
187
146
|
version: 1.0.0.beta.1
|
188
147
|
type: :development
|
189
148
|
version_requirements: *id012
|
@@ -195,8 +154,6 @@ dependencies:
|
|
195
154
|
requirements:
|
196
155
|
- - ">="
|
197
156
|
- !ruby/object:Gem::Version
|
198
|
-
segments:
|
199
|
-
- 0
|
200
157
|
version: "0"
|
201
158
|
type: :development
|
202
159
|
version_requirements: *id013
|
@@ -208,8 +165,6 @@ dependencies:
|
|
208
165
|
requirements:
|
209
166
|
- - ">="
|
210
167
|
- !ruby/object:Gem::Version
|
211
|
-
segments:
|
212
|
-
- 0
|
213
168
|
version: "0"
|
214
169
|
type: :development
|
215
170
|
version_requirements: *id014
|
@@ -221,37 +176,53 @@ dependencies:
|
|
221
176
|
requirements:
|
222
177
|
- - ">="
|
223
178
|
- !ruby/object:Gem::Version
|
224
|
-
segments:
|
225
|
-
- 0
|
226
179
|
version: "0"
|
227
180
|
type: :development
|
228
181
|
version_requirements: *id015
|
229
182
|
- !ruby/object:Gem::Dependency
|
230
|
-
name:
|
183
|
+
name: multipart_body
|
231
184
|
prerelease: false
|
232
185
|
requirement: &id016 !ruby/object:Gem::Requirement
|
233
186
|
none: false
|
234
187
|
requirements:
|
235
188
|
- - ">="
|
236
189
|
- !ruby/object:Gem::Version
|
237
|
-
segments:
|
238
|
-
- 0
|
239
190
|
version: "0"
|
240
191
|
type: :development
|
241
192
|
version_requirements: *id016
|
242
193
|
- !ruby/object:Gem::Dependency
|
243
|
-
name:
|
194
|
+
name: amqp
|
244
195
|
prerelease: false
|
245
196
|
requirement: &id017 !ruby/object:Gem::Requirement
|
246
197
|
none: false
|
247
198
|
requirements:
|
248
199
|
- - ">="
|
249
200
|
- !ruby/object:Gem::Version
|
250
|
-
|
251
|
-
- 0
|
252
|
-
version: "0"
|
201
|
+
version: 0.7.1
|
253
202
|
type: :development
|
254
203
|
version_requirements: *id017
|
204
|
+
- !ruby/object:Gem::Dependency
|
205
|
+
name: yard
|
206
|
+
prerelease: false
|
207
|
+
requirement: &id018 !ruby/object:Gem::Requirement
|
208
|
+
none: false
|
209
|
+
requirements:
|
210
|
+
- - ">="
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: "0"
|
213
|
+
type: :development
|
214
|
+
version_requirements: *id018
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: bluecloth
|
217
|
+
prerelease: false
|
218
|
+
requirement: &id019 !ruby/object:Gem::Requirement
|
219
|
+
none: false
|
220
|
+
requirements:
|
221
|
+
- - ">="
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: "0"
|
224
|
+
type: :development
|
225
|
+
version_requirements: *id019
|
255
226
|
description: Framework for writing API servers
|
256
227
|
email:
|
257
228
|
- dj2@everburning.com
|
@@ -263,6 +234,7 @@ extensions: []
|
|
263
234
|
extra_rdoc_files: []
|
264
235
|
|
265
236
|
files:
|
237
|
+
- .gemtest
|
266
238
|
- .gitignore
|
267
239
|
- .rspec
|
268
240
|
- .yardopts
|
@@ -275,9 +247,11 @@ files:
|
|
275
247
|
- examples/async_upload.rb
|
276
248
|
- examples/conf_test.rb
|
277
249
|
- examples/config/conf_test.rb
|
250
|
+
- examples/config/content_stream.rb
|
278
251
|
- examples/config/echo.rb
|
279
252
|
- examples/config/http_log.rb
|
280
253
|
- examples/config/shared.rb
|
254
|
+
- examples/content_stream.rb
|
281
255
|
- examples/custom_server.rb
|
282
256
|
- examples/echo.rb
|
283
257
|
- examples/gziped.rb
|
@@ -322,8 +296,11 @@ files:
|
|
322
296
|
- lib/goliath/version.rb
|
323
297
|
- spec/integration/async_request_processing.rb
|
324
298
|
- spec/integration/echo_spec.rb
|
299
|
+
- spec/integration/empty_body_spec.rb
|
300
|
+
- spec/integration/http_log_spec.rb
|
325
301
|
- spec/integration/keepalive_spec.rb
|
326
302
|
- spec/integration/pipelining_spec.rb
|
303
|
+
- spec/integration/reloader_spec.rb
|
327
304
|
- spec/integration/valid_spec.rb
|
328
305
|
- spec/spec_helper.rb
|
329
306
|
- spec/unit/connection_spec.rb
|
@@ -360,31 +337,28 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
360
337
|
requirements:
|
361
338
|
- - ">="
|
362
339
|
- !ruby/object:Gem::Version
|
363
|
-
segments:
|
364
|
-
- 1
|
365
|
-
- 9
|
366
|
-
- 2
|
367
340
|
version: 1.9.2
|
368
341
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
369
342
|
none: false
|
370
343
|
requirements:
|
371
344
|
- - ">="
|
372
345
|
- !ruby/object:Gem::Version
|
373
|
-
segments:
|
374
|
-
- 0
|
375
346
|
version: "0"
|
376
347
|
requirements: []
|
377
348
|
|
378
349
|
rubyforge_project:
|
379
|
-
rubygems_version: 1.
|
350
|
+
rubygems_version: 1.6.2
|
380
351
|
signing_key:
|
381
352
|
specification_version: 3
|
382
353
|
summary: Framework for writing API servers
|
383
354
|
test_files:
|
384
355
|
- spec/integration/async_request_processing.rb
|
385
356
|
- spec/integration/echo_spec.rb
|
357
|
+
- spec/integration/empty_body_spec.rb
|
358
|
+
- spec/integration/http_log_spec.rb
|
386
359
|
- spec/integration/keepalive_spec.rb
|
387
360
|
- spec/integration/pipelining_spec.rb
|
361
|
+
- spec/integration/reloader_spec.rb
|
388
362
|
- spec/integration/valid_spec.rb
|
389
363
|
- spec/spec_helper.rb
|
390
364
|
- spec/unit/connection_spec.rb
|