unicorn 0.5.2 → 0.5.3
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/CHANGELOG +1 -0
- data/Manifest +1 -0
- data/lib/unicorn.rb +1 -1
- data/lib/unicorn/const.rb +1 -3
- data/lib/unicorn/http_response.rb +6 -5
- data/local.mk.sample +2 -2
- data/test/rails/test_rails.rb +13 -13
- data/test/unit/test_response.rb +2 -2
- data/unicorn.gemspec +3 -3
- metadata +7 -6
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
data/lib/unicorn.rb
CHANGED
data/lib/unicorn/const.rb
CHANGED
@@ -49,8 +49,6 @@ module Unicorn
|
|
49
49
|
# gave about a 3% to 10% performance improvement over using the strings directly.
|
50
50
|
# Symbols did not really improve things much compared to constants.
|
51
51
|
module Const
|
52
|
-
DATE="Date".freeze
|
53
|
-
|
54
52
|
# This is the part of the path after the SCRIPT_NAME.
|
55
53
|
PATH_INFO="PATH_INFO".freeze
|
56
54
|
|
@@ -58,7 +56,7 @@ module Unicorn
|
|
58
56
|
REQUEST_URI='REQUEST_URI'.freeze
|
59
57
|
REQUEST_PATH='REQUEST_PATH'.freeze
|
60
58
|
|
61
|
-
UNICORN_VERSION="0.5.
|
59
|
+
UNICORN_VERSION="0.5.3".freeze
|
62
60
|
|
63
61
|
UNICORN_TMP_BASE="unicorn".freeze
|
64
62
|
|
@@ -25,15 +25,13 @@ module Unicorn
|
|
25
25
|
# Connection: and Date: headers no matter what (if anything) our
|
26
26
|
# Rack application sent us.
|
27
27
|
SKIP = { 'connection' => true, 'date' => true, 'status' => true }.freeze
|
28
|
+
HEADER_OUT = [ "Connection: close" ] # :nodoc
|
28
29
|
|
29
30
|
# writes the rack_response to socket as an HTTP response
|
30
31
|
def self.write(socket, rack_response)
|
31
32
|
status, headers, body = rack_response
|
32
33
|
status = "#{status} #{HTTP_STATUS_CODES[status]}"
|
33
|
-
|
34
|
-
# Date is required by HTTP/1.1 as long as our clock can be trusted.
|
35
|
-
# Some broken clients require a "Status" header so we accomodate them
|
36
|
-
out = [ "Date: #{Time.now.httpdate}", "Status: #{status}" ]
|
34
|
+
out = HEADER_OUT.dup # shallow copy
|
37
35
|
|
38
36
|
# Don't bother enforcing duplicate supression, it's a Hash most of
|
39
37
|
# the time anyways so just hope our app knows what it's doing
|
@@ -48,9 +46,12 @@ module Unicorn
|
|
48
46
|
|
49
47
|
# Rack should enforce Content-Length or chunked transfer encoding,
|
50
48
|
# so don't worry or care about them.
|
49
|
+
# Date is required by HTTP/1.1 as long as our clock can be trusted.
|
50
|
+
# Some broken clients require a "Status" header so we accomodate them
|
51
51
|
socket_write(socket,
|
52
52
|
"HTTP/1.1 #{status}\r\n" \
|
53
|
-
"
|
53
|
+
"Date: #{Time.now.httpdate}\r\n" \
|
54
|
+
"Status: #{status}\r\n" \
|
54
55
|
"#{out.join("\r\n")}\r\n\r\n")
|
55
56
|
body.each { |chunk| socket_write(socket, chunk) }
|
56
57
|
socket.close # uncorks the socket immediately
|
data/local.mk.sample
CHANGED
@@ -23,9 +23,9 @@ SHELL := /bin/bash -e -o pipefail
|
|
23
23
|
|
24
24
|
full-test: test-18 test-19
|
25
25
|
test-18:
|
26
|
-
$(MAKE) test 2>&1 | sed -u -e 's!^!1.8 !'
|
26
|
+
$(MAKE) test test-rails 2>&1 | sed -u -e 's!^!1.8 !'
|
27
27
|
test-19:
|
28
|
-
$(MAKE) test r19=1 2>&1 | sed -u -e 's!^!1.9 !'
|
28
|
+
$(MAKE) test test-rails r19=1 2>&1 | sed -u -e 's!^!1.9 !'
|
29
29
|
|
30
30
|
# publishes docs to http://unicorn.bogomips.org
|
31
31
|
publish_doc:
|
data/test/rails/test_rails.rb
CHANGED
@@ -98,12 +98,12 @@ logger Logger.new('#{COMMON_TMP.path}')
|
|
98
98
|
assert_equal "FOO\n", res.body
|
99
99
|
assert_match %r{^text/html\b}, res['Content-Type']
|
100
100
|
assert_equal "4", res['Content-Length']
|
101
|
-
|
101
|
+
assert_equal "200 OK", res['Status']
|
102
102
|
|
103
103
|
# can we set cookies?
|
104
104
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/foo/xcookie"))
|
105
105
|
assert_equal "200", res.code
|
106
|
-
|
106
|
+
assert_equal "200 OK", res['Status']
|
107
107
|
cookies = res.get_fields('Set-Cookie')
|
108
108
|
assert_equal 2, cookies.size
|
109
109
|
assert_equal 1, cookies.grep(/\A_unicorn_rails_test\./).size
|
@@ -112,7 +112,7 @@ logger Logger.new('#{COMMON_TMP.path}')
|
|
112
112
|
# how about just a session?
|
113
113
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/foo/xnotice"))
|
114
114
|
assert_equal "200", res.code
|
115
|
-
|
115
|
+
assert_equal "200 OK", res['Status']
|
116
116
|
cookies = res.get_fields('Set-Cookie')
|
117
117
|
assert_equal 1, cookies.size
|
118
118
|
assert_equal 1, cookies.grep(/\A_unicorn_rails_test\./).size
|
@@ -128,7 +128,7 @@ logger Logger.new('#{COMMON_TMP.path}')
|
|
128
128
|
assert_equal Hash, params.class
|
129
129
|
assert_equal 'b', params['a']
|
130
130
|
assert_equal 'd', params['c']
|
131
|
-
|
131
|
+
assert_equal "200 OK", res['Status']
|
132
132
|
|
133
133
|
# try uploading a big file
|
134
134
|
tmp = Tempfile.new('random')
|
@@ -153,52 +153,52 @@ logger Logger.new('#{COMMON_TMP.path}')
|
|
153
153
|
assert_equal 1, grepped.size
|
154
154
|
assert_match %r{^text/plain}, grepped.first.split(/\s*:\s*/)[1]
|
155
155
|
|
156
|
-
assert_equal
|
156
|
+
assert_equal 1, resp.grep(/^Status:/i).size
|
157
157
|
|
158
158
|
# make sure we can get 403 responses, too
|
159
159
|
uri = URI.parse("http://#@addr:#@port/foo/xpost")
|
160
160
|
wait_master_ready("test_stderr.#$$.log")
|
161
161
|
res = Net::HTTP.get_response(uri)
|
162
162
|
assert_equal "403", res.code
|
163
|
-
|
163
|
+
assert_equal "403 Forbidden", res['Status']
|
164
164
|
|
165
165
|
# non existent controller
|
166
166
|
uri = URI.parse("http://#@addr:#@port/asdf")
|
167
167
|
res = Net::HTTP.get_response(uri)
|
168
168
|
assert_equal "404", res.code
|
169
|
-
|
169
|
+
assert_equal "404 Not Found", res['Status']
|
170
170
|
|
171
171
|
# static files
|
172
172
|
|
173
173
|
# ensure file we're about to serve is not there yet
|
174
174
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/pid.txt"))
|
175
|
-
|
175
|
+
assert_equal "404 Not Found", res['Status']
|
176
176
|
assert_equal '404', res.code
|
177
177
|
|
178
178
|
# can we serve text files based on suffix?
|
179
179
|
File.open("public/pid.txt", "wb") { |fp| fp.syswrite("#$$\n") }
|
180
180
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/pid.txt"))
|
181
181
|
assert_equal '200', res.code
|
182
|
+
assert_equal "200 OK", res['Status']
|
182
183
|
assert_match %r{^text/plain}, res['Content-Type']
|
183
184
|
assert_equal "#$$\n", res.body
|
184
|
-
assert_nil res['Status']
|
185
185
|
|
186
186
|
# can we serve HTML files based on suffix?
|
187
187
|
assert File.exist?("public/500.html")
|
188
188
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/500.html"))
|
189
189
|
assert_equal '200', res.code
|
190
|
+
assert_equal '200 OK', res['Status']
|
190
191
|
assert_match %r{^text/html}, res['Content-Type']
|
191
192
|
five_hundred_body = res.body
|
192
|
-
assert_nil res['Status']
|
193
193
|
|
194
194
|
# lets try pretending 500 is a controller that got cached
|
195
195
|
assert ! File.exist?("public/500")
|
196
196
|
assert_equal five_hundred_body, File.read("public/500.html")
|
197
197
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/500"))
|
198
198
|
assert_equal '200', res.code
|
199
|
+
assert_equal '200 OK', res['Status']
|
199
200
|
assert_match %r{^text/html}, res['Content-Type']
|
200
201
|
assert_equal five_hundred_body, res.body
|
201
|
-
assert_nil res['Status']
|
202
202
|
end
|
203
203
|
|
204
204
|
def test_alt_url_root
|
@@ -213,14 +213,14 @@ logger Logger.new('#{COMMON_TMP.path}')
|
|
213
213
|
# p res.body
|
214
214
|
# system 'cat', 'log/development.log'
|
215
215
|
assert_equal "200", res.code
|
216
|
+
assert_equal '200 OK', res['Status']
|
216
217
|
assert_equal "FOO\n", res.body
|
217
218
|
assert_match %r{^text/html\b}, res['Content-Type']
|
218
219
|
assert_equal "4", res['Content-Length']
|
219
|
-
assert_nil res['Status']
|
220
220
|
|
221
221
|
res = Net::HTTP.get_response(URI.parse("http://#@addr:#@port/foo"))
|
222
222
|
assert_equal "404", res.code
|
223
|
-
|
223
|
+
assert_equal '404 Not Found', res['Status']
|
224
224
|
end
|
225
225
|
|
226
226
|
def teardown
|
data/test/unit/test_response.rb
CHANGED
@@ -60,7 +60,7 @@ class ResponseTest < Test::Unit::TestCase
|
|
60
60
|
out = StringIO.new
|
61
61
|
HttpResponse.write(out,[200, {"X-Whatever" => "stuff"}, []])
|
62
62
|
assert out.closed?
|
63
|
-
|
63
|
+
assert_equal 1, out.string.split(/\r\n/).grep(/^Status: 200 OK/i).size
|
64
64
|
end
|
65
65
|
|
66
66
|
# we always favor the code returned by the application, since "Status"
|
@@ -71,7 +71,7 @@ class ResponseTest < Test::Unit::TestCase
|
|
71
71
|
header_hash = {"X-Whatever" => "stuff", 'StaTus' => "666" }
|
72
72
|
HttpResponse.write(out,[200, header_hash, []])
|
73
73
|
assert out.closed?
|
74
|
-
|
74
|
+
assert_equal 1, out.string.split(/\r\n/).grep(/^Status: 200 OK/i).size
|
75
75
|
assert_equal 1, out.string.split(/\r\n/).grep(/^Status:/i).size
|
76
76
|
end
|
77
77
|
|
data/unicorn.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{unicorn}
|
5
|
-
s.version = "0.5.
|
5
|
+
s.version = "0.5.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Eric Wong"]
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
12
12
|
s.executables = ["unicorn", "unicorn_rails"]
|
13
13
|
s.extensions = ["ext/unicorn/http11/extconf.rb"]
|
14
14
|
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README", "TODO", "bin/unicorn", "bin/unicorn_rails", "ext/unicorn/http11/ext_help.h", "ext/unicorn/http11/extconf.rb", "ext/unicorn/http11/http11.c", "ext/unicorn/http11/http11_parser.c", "ext/unicorn/http11/http11_parser.h", "ext/unicorn/http11/http11_parser.rl", "ext/unicorn/http11/http11_parser_common.rl", "lib/unicorn.rb", "lib/unicorn/app/exec_cgi.rb", "lib/unicorn/app/old_rails.rb", "lib/unicorn/app/old_rails/static.rb", "lib/unicorn/cgi_wrapper.rb", "lib/unicorn/configurator.rb", "lib/unicorn/const.rb", "lib/unicorn/http_request.rb", "lib/unicorn/http_response.rb", "lib/unicorn/launcher.rb", "lib/unicorn/socket.rb", "lib/unicorn/util.rb"]
|
15
|
-
s.files = [".document", ".gitignore", "CHANGELOG", "CONTRIBUTORS", "DESIGN", "GNUmakefile", "LICENSE", "Manifest", "PHILOSOPHY", "README", "Rakefile", "SIGNALS", "TODO", "bin/unicorn", "bin/unicorn_rails", "ext/unicorn/http11/ext_help.h", "ext/unicorn/http11/extconf.rb", "ext/unicorn/http11/http11.c", "ext/unicorn/http11/http11_parser.c", "ext/unicorn/http11/http11_parser.h", "ext/unicorn/http11/http11_parser.rl", "ext/unicorn/http11/http11_parser_common.rl", "lib/unicorn.rb", "lib/unicorn/app/exec_cgi.rb", "lib/unicorn/app/old_rails.rb", "lib/unicorn/app/old_rails/static.rb", "lib/unicorn/cgi_wrapper.rb", "lib/unicorn/configurator.rb", "lib/unicorn/const.rb", "lib/unicorn/http_request.rb", "lib/unicorn/http_response.rb", "lib/unicorn/launcher.rb", "lib/unicorn/socket.rb", "lib/unicorn/util.rb", "local.mk.sample", "setup.rb", "test/aggregate.rb", "test/benchmark/README", "test/benchmark/big_request.rb", "test/benchmark/dd.ru", "test/benchmark/request.rb", "test/benchmark/response.rb", "test/exec/README", "test/exec/test_exec.rb", "test/rails/app-1.2.3/.gitignore", "test/rails/app-1.2.3/Rakefile", "test/rails/app-1.2.3/app/controllers/application.rb", "test/rails/app-1.2.3/app/controllers/foo_controller.rb", "test/rails/app-1.2.3/app/helpers/application_helper.rb", "test/rails/app-1.2.3/config/boot.rb", "test/rails/app-1.2.3/config/database.yml", "test/rails/app-1.2.3/config/environment.rb", "test/rails/app-1.2.3/config/environments/development.rb", "test/rails/app-1.2.3/config/environments/production.rb", "test/rails/app-1.2.3/config/routes.rb", "test/rails/app-1.2.3/db/.gitignore", "test/rails/app-1.2.3/log/.gitignore", "test/rails/app-1.2.3/public/404.html", "test/rails/app-1.2.3/public/500.html", "test/rails/app-2.0.2/.gitignore", "test/rails/app-2.0.2/Rakefile", "test/rails/app-2.0.2/app/controllers/application.rb", "test/rails/app-2.0.2/app/controllers/foo_controller.rb", "test/rails/app-2.0.2/app/helpers/application_helper.rb", "test/rails/app-2.0.2/config/boot.rb", "test/rails/app-2.0.2/config/database.yml", "test/rails/app-2.0.2/config/environment.rb", "test/rails/app-2.0.2/config/environments/development.rb", "test/rails/app-2.0.2/config/environments/production.rb", "test/rails/app-2.0.2/config/routes.rb", "test/rails/app-2.0.2/db/.gitignore", "test/rails/app-2.0.2/log/.gitignore", "test/rails/app-2.0.2/public/404.html", "test/rails/app-2.0.2/public/500.html", "test/rails/app-2.1.2/.gitignore", "test/rails/app-2.1.2/Rakefile", "test/rails/app-2.1.2/app/controllers/application.rb", "test/rails/app-2.1.2/app/controllers/foo_controller.rb", "test/rails/app-2.1.2/app/helpers/application_helper.rb", "test/rails/app-2.1.2/config/boot.rb", "test/rails/app-2.1.2/config/database.yml", "test/rails/app-2.1.2/config/environment.rb", "test/rails/app-2.1.2/config/environments/development.rb", "test/rails/app-2.1.2/config/environments/production.rb", "test/rails/app-2.1.2/config/routes.rb", "test/rails/app-2.1.2/db/.gitignore", "test/rails/app-2.1.2/log/.gitignore", "test/rails/app-2.1.2/public/404.html", "test/rails/app-2.1.2/public/500.html", "test/rails/app-2.2.2/.gitignore", "test/rails/app-2.2.2/Rakefile", "test/rails/app-2.2.2/app/controllers/application.rb", "test/rails/app-2.2.2/app/controllers/foo_controller.rb", "test/rails/app-2.2.2/app/helpers/application_helper.rb", "test/rails/app-2.2.2/config/boot.rb", "test/rails/app-2.2.2/config/database.yml", "test/rails/app-2.2.2/config/environment.rb", "test/rails/app-2.2.2/config/environments/development.rb", "test/rails/app-2.2.2/config/environments/production.rb", "test/rails/app-2.2.2/config/routes.rb", "test/rails/app-2.2.2/db/.gitignore", "test/rails/app-2.2.2/log/.gitignore", "test/rails/app-2.2.2/public/404.html", "test/rails/app-2.2.2/public/500.html", "test/rails/app-2.3.2.1/.gitignore", "test/rails/app-2.3.2.1/Rakefile", "test/rails/app-2.3.2.1/app/controllers/application_controller.rb", "test/rails/app-2.3.2.1/app/controllers/foo_controller.rb", "test/rails/app-2.3.2.1/app/helpers/application_helper.rb", "test/rails/app-2.3.2.1/config/boot.rb", "test/rails/app-2.3.2.1/config/database.yml", "test/rails/app-2.3.2.1/config/environment.rb", "test/rails/app-2.3.2.1/config/environments/development.rb", "test/rails/app-2.3.2.1/config/environments/production.rb", "test/rails/app-2.3.2.1/config/routes.rb", "test/rails/app-2.3.2.1/db/.gitignore", "test/rails/app-2.3.2.1/log/.gitignore", "test/rails/app-2.3.2.1/public/404.html", "test/rails/app-2.3.2.1/public/500.html", "test/rails/test_rails.rb", "test/test_helper.rb", "test/tools/trickletest.rb", "test/unit/test_configurator.rb", "test/unit/test_http_parser.rb", "test/unit/test_request.rb", "test/unit/test_response.rb", "test/unit/test_server.rb", "test/unit/
|
15
|
+
s.files = [".document", ".gitignore", "CHANGELOG", "CONTRIBUTORS", "DESIGN", "GNUmakefile", "LICENSE", "Manifest", "PHILOSOPHY", "README", "Rakefile", "SIGNALS", "TODO", "bin/unicorn", "bin/unicorn_rails", "ext/unicorn/http11/ext_help.h", "ext/unicorn/http11/extconf.rb", "ext/unicorn/http11/http11.c", "ext/unicorn/http11/http11_parser.c", "ext/unicorn/http11/http11_parser.h", "ext/unicorn/http11/http11_parser.rl", "ext/unicorn/http11/http11_parser_common.rl", "lib/unicorn.rb", "lib/unicorn/app/exec_cgi.rb", "lib/unicorn/app/old_rails.rb", "lib/unicorn/app/old_rails/static.rb", "lib/unicorn/cgi_wrapper.rb", "lib/unicorn/configurator.rb", "lib/unicorn/const.rb", "lib/unicorn/http_request.rb", "lib/unicorn/http_response.rb", "lib/unicorn/launcher.rb", "lib/unicorn/socket.rb", "lib/unicorn/util.rb", "local.mk.sample", "setup.rb", "test/aggregate.rb", "test/benchmark/README", "test/benchmark/big_request.rb", "test/benchmark/dd.ru", "test/benchmark/request.rb", "test/benchmark/response.rb", "test/exec/README", "test/exec/test_exec.rb", "test/rails/app-1.2.3/.gitignore", "test/rails/app-1.2.3/Rakefile", "test/rails/app-1.2.3/app/controllers/application.rb", "test/rails/app-1.2.3/app/controllers/foo_controller.rb", "test/rails/app-1.2.3/app/helpers/application_helper.rb", "test/rails/app-1.2.3/config/boot.rb", "test/rails/app-1.2.3/config/database.yml", "test/rails/app-1.2.3/config/environment.rb", "test/rails/app-1.2.3/config/environments/development.rb", "test/rails/app-1.2.3/config/environments/production.rb", "test/rails/app-1.2.3/config/routes.rb", "test/rails/app-1.2.3/db/.gitignore", "test/rails/app-1.2.3/log/.gitignore", "test/rails/app-1.2.3/public/404.html", "test/rails/app-1.2.3/public/500.html", "test/rails/app-2.0.2/.gitignore", "test/rails/app-2.0.2/Rakefile", "test/rails/app-2.0.2/app/controllers/application.rb", "test/rails/app-2.0.2/app/controllers/foo_controller.rb", "test/rails/app-2.0.2/app/helpers/application_helper.rb", "test/rails/app-2.0.2/config/boot.rb", "test/rails/app-2.0.2/config/database.yml", "test/rails/app-2.0.2/config/environment.rb", "test/rails/app-2.0.2/config/environments/development.rb", "test/rails/app-2.0.2/config/environments/production.rb", "test/rails/app-2.0.2/config/routes.rb", "test/rails/app-2.0.2/db/.gitignore", "test/rails/app-2.0.2/log/.gitignore", "test/rails/app-2.0.2/public/404.html", "test/rails/app-2.0.2/public/500.html", "test/rails/app-2.1.2/.gitignore", "test/rails/app-2.1.2/Rakefile", "test/rails/app-2.1.2/app/controllers/application.rb", "test/rails/app-2.1.2/app/controllers/foo_controller.rb", "test/rails/app-2.1.2/app/helpers/application_helper.rb", "test/rails/app-2.1.2/config/boot.rb", "test/rails/app-2.1.2/config/database.yml", "test/rails/app-2.1.2/config/environment.rb", "test/rails/app-2.1.2/config/environments/development.rb", "test/rails/app-2.1.2/config/environments/production.rb", "test/rails/app-2.1.2/config/routes.rb", "test/rails/app-2.1.2/db/.gitignore", "test/rails/app-2.1.2/log/.gitignore", "test/rails/app-2.1.2/public/404.html", "test/rails/app-2.1.2/public/500.html", "test/rails/app-2.2.2/.gitignore", "test/rails/app-2.2.2/Rakefile", "test/rails/app-2.2.2/app/controllers/application.rb", "test/rails/app-2.2.2/app/controllers/foo_controller.rb", "test/rails/app-2.2.2/app/helpers/application_helper.rb", "test/rails/app-2.2.2/config/boot.rb", "test/rails/app-2.2.2/config/database.yml", "test/rails/app-2.2.2/config/environment.rb", "test/rails/app-2.2.2/config/environments/development.rb", "test/rails/app-2.2.2/config/environments/production.rb", "test/rails/app-2.2.2/config/routes.rb", "test/rails/app-2.2.2/db/.gitignore", "test/rails/app-2.2.2/log/.gitignore", "test/rails/app-2.2.2/public/404.html", "test/rails/app-2.2.2/public/500.html", "test/rails/app-2.3.2.1/.gitignore", "test/rails/app-2.3.2.1/Rakefile", "test/rails/app-2.3.2.1/app/controllers/application_controller.rb", "test/rails/app-2.3.2.1/app/controllers/foo_controller.rb", "test/rails/app-2.3.2.1/app/helpers/application_helper.rb", "test/rails/app-2.3.2.1/config/boot.rb", "test/rails/app-2.3.2.1/config/database.yml", "test/rails/app-2.3.2.1/config/environment.rb", "test/rails/app-2.3.2.1/config/environments/development.rb", "test/rails/app-2.3.2.1/config/environments/production.rb", "test/rails/app-2.3.2.1/config/routes.rb", "test/rails/app-2.3.2.1/db/.gitignore", "test/rails/app-2.3.2.1/log/.gitignore", "test/rails/app-2.3.2.1/public/404.html", "test/rails/app-2.3.2.1/public/500.html", "test/rails/test_rails.rb", "test/test_helper.rb", "test/tools/trickletest.rb", "test/unit/test_configurator.rb", "test/unit/test_http_parser.rb", "test/unit/test_request.rb", "test/unit/test_response.rb", "test/unit/test_server.rb", "test/unit/test_signals.rb", "test/unit/test_socket_helper.rb", "test/unit/test_upload.rb", "unicorn.gemspec"]
|
16
16
|
s.has_rdoc = true
|
17
17
|
s.homepage = %q{http://unicorn.bogomips.org}
|
18
18
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Unicorn", "--main", "README"]
|
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
|
|
20
20
|
s.rubyforge_project = %q{unicorn}
|
21
21
|
s.rubygems_version = %q{1.3.1}
|
22
22
|
s.summary = %q{A small fast HTTP library and server for Rack applications.}
|
23
|
-
s.test_files = ["test/unit/
|
23
|
+
s.test_files = ["test/unit/test_request.rb", "test/unit/test_http_parser.rb", "test/unit/test_server.rb", "test/unit/test_response.rb", "test/unit/test_configurator.rb", "test/unit/test_upload.rb", "test/unit/test_signals.rb", "test/unit/test_socket_helper.rb"]
|
24
24
|
|
25
25
|
if s.respond_to? :specification_version then
|
26
26
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicorn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Wong
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- test/unit/test_request.rb
|
175
175
|
- test/unit/test_response.rb
|
176
176
|
- test/unit/test_server.rb
|
177
|
+
- test/unit/test_signals.rb
|
177
178
|
- test/unit/test_socket_helper.rb
|
178
179
|
- test/unit/test_upload.rb
|
179
180
|
- unicorn.gemspec
|
@@ -210,11 +211,11 @@ signing_key:
|
|
210
211
|
specification_version: 2
|
211
212
|
summary: A small fast HTTP library and server for Rack applications.
|
212
213
|
test_files:
|
213
|
-
- test/unit/test_configurator.rb
|
214
|
-
- test/unit/test_response.rb
|
215
214
|
- test/unit/test_request.rb
|
216
|
-
- test/unit/test_signals.rb
|
217
|
-
- test/unit/test_upload.rb
|
218
215
|
- test/unit/test_http_parser.rb
|
219
|
-
- test/unit/test_socket_helper.rb
|
220
216
|
- test/unit/test_server.rb
|
217
|
+
- test/unit/test_response.rb
|
218
|
+
- test/unit/test_configurator.rb
|
219
|
+
- test/unit/test_upload.rb
|
220
|
+
- test/unit/test_signals.rb
|
221
|
+
- test/unit/test_socket_helper.rb
|