mongrel 1.2.0.pre2-x86-mswin32
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +55 -0
- data/History.txt +68 -0
- data/LICENSE +55 -0
- data/Manifest.txt +69 -0
- data/README.txt +80 -0
- data/Rakefile +8 -0
- data/TODO +5 -0
- data/bin/mongrel_rails +284 -0
- data/examples/builder.rb +29 -0
- data/examples/camping/README +3 -0
- data/examples/camping/blog.rb +294 -0
- data/examples/camping/tepee.rb +149 -0
- data/examples/httpd.conf +474 -0
- data/examples/mime.yaml +3 -0
- data/examples/mongrel.conf +9 -0
- data/examples/monitrc +57 -0
- data/examples/random_thrash.rb +19 -0
- data/examples/simpletest.rb +52 -0
- data/examples/webrick_compare.rb +20 -0
- data/ext/http11/Http11Service.java +13 -0
- data/ext/http11/ext_help.h +15 -0
- data/ext/http11/extconf.rb +6 -0
- data/ext/http11/http11.c +534 -0
- data/ext/http11/http11_parser.c +1243 -0
- data/ext/http11/http11_parser.h +49 -0
- data/ext/http11/http11_parser.java.rl +159 -0
- data/ext/http11/http11_parser.rl +153 -0
- data/ext/http11/http11_parser_common.rl +54 -0
- data/ext/http11/org/jruby/mongrel/Http11.java +241 -0
- data/ext/http11/org/jruby/mongrel/Http11Parser.java +486 -0
- data/lib/1.8/http11.so +0 -0
- data/lib/1.9/http11.so +0 -0
- data/lib/mongrel.rb +366 -0
- data/lib/mongrel/camping.rb +107 -0
- data/lib/mongrel/cgi.rb +181 -0
- data/lib/mongrel/command.rb +220 -0
- data/lib/mongrel/configurator.rb +388 -0
- data/lib/mongrel/const.rb +110 -0
- data/lib/mongrel/debug.rb +203 -0
- data/lib/mongrel/gems.rb +22 -0
- data/lib/mongrel/handlers.rb +468 -0
- data/lib/mongrel/header_out.rb +28 -0
- data/lib/mongrel/http_request.rb +155 -0
- data/lib/mongrel/http_response.rb +166 -0
- data/lib/mongrel/init.rb +10 -0
- data/lib/mongrel/mime_types.yml +616 -0
- data/lib/mongrel/rails.rb +185 -0
- data/lib/mongrel/stats.rb +89 -0
- data/lib/mongrel/tcphack.rb +18 -0
- data/lib/mongrel/uri_classifier.rb +76 -0
- data/setup.rb +1585 -0
- data/tasks/gem.rake +28 -0
- data/tasks/native.rake +24 -0
- data/tasks/ragel.rake +20 -0
- data/test/mime.yaml +3 -0
- data/test/mongrel.conf +1 -0
- data/test/test_cgi_wrapper.rb +26 -0
- data/test/test_command.rb +86 -0
- data/test/test_conditional.rb +107 -0
- data/test/test_configurator.rb +87 -0
- data/test/test_debug.rb +25 -0
- data/test/test_handlers.rb +135 -0
- data/test/test_http11.rb +156 -0
- data/test/test_redirect_handler.rb +44 -0
- data/test/test_request_progress.rb +99 -0
- data/test/test_response.rb +127 -0
- data/test/test_stats.rb +35 -0
- data/test/test_uriclassifier.rb +261 -0
- data/test/test_ws.rb +117 -0
- data/test/testhelp.rb +71 -0
- data/tools/trickletest.rb +45 -0
- metadata +197 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'socket'
|
2
|
+
require 'stringio'
|
3
|
+
|
4
|
+
def do_test(st, chunk)
|
5
|
+
s = TCPSocket.new('127.0.0.1',ARGV[0].to_i);
|
6
|
+
req = StringIO.new(st)
|
7
|
+
nout = 0
|
8
|
+
randstop = rand(st.length / 10)
|
9
|
+
STDERR.puts "stopping after: #{randstop}"
|
10
|
+
|
11
|
+
begin
|
12
|
+
while data = req.read(chunk)
|
13
|
+
nout += s.write(data)
|
14
|
+
s.flush
|
15
|
+
sleep 0.1
|
16
|
+
if nout > randstop
|
17
|
+
STDERR.puts "BANG! after #{nout} bytes."
|
18
|
+
break
|
19
|
+
end
|
20
|
+
end
|
21
|
+
rescue Object => e
|
22
|
+
STDERR.puts "ERROR: #{e}"
|
23
|
+
ensure
|
24
|
+
s.close
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
content = "-" * (1024 * 240)
|
29
|
+
st = "GET / HTTP/1.1\r\nHost: www.zedshaw.com\r\nContent-Type: text/plain\r\nContent-Length: #{content.length}\r\n\r\n#{content}"
|
30
|
+
|
31
|
+
puts "length: #{content.length}"
|
32
|
+
|
33
|
+
threads = []
|
34
|
+
ARGV[1].to_i.times do
|
35
|
+
t = Thread.new do
|
36
|
+
size = 100
|
37
|
+
puts ">>>> #{size} sized chunks"
|
38
|
+
do_test(st, size)
|
39
|
+
end
|
40
|
+
|
41
|
+
t.abort_on_exception = true
|
42
|
+
threads << t
|
43
|
+
end
|
44
|
+
|
45
|
+
threads.each {|t| t.join}
|
metadata
ADDED
@@ -0,0 +1,197 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mongrel
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.0.pre2
|
5
|
+
platform: x86-mswin32
|
6
|
+
authors:
|
7
|
+
- Zed A. Shaw
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2010-03-18 00:00:00 -03:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: gem_plugin
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ~>
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.2.3
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rubyforge
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 2.0.3
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: gemcutter
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.3.0
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: rake-compiler
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.7.0
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hoe
|
57
|
+
type: :development
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 2.5.0
|
64
|
+
version:
|
65
|
+
description: |-
|
66
|
+
Mongrel is a small library that provides a very fast HTTP 1.1 server for Ruby web applications. It is not particular to any framework, and is intended to be just enough to get a web application running behind a more complete and robust web server.
|
67
|
+
|
68
|
+
What makes Mongrel so fast is the careful use of an Ragel extension to provide fast, accurate HTTP 1.1 protocol parsing. This makes the server scream without too many portability issues.
|
69
|
+
|
70
|
+
See http://mongrel.rubyforge.org for more information.
|
71
|
+
email:
|
72
|
+
- mongrel-users@rubyforge.org
|
73
|
+
executables:
|
74
|
+
- mongrel_rails
|
75
|
+
extensions: []
|
76
|
+
|
77
|
+
extra_rdoc_files:
|
78
|
+
- History.txt
|
79
|
+
- Manifest.txt
|
80
|
+
- README.txt
|
81
|
+
- LICENSE
|
82
|
+
files:
|
83
|
+
- COPYING
|
84
|
+
- History.txt
|
85
|
+
- LICENSE
|
86
|
+
- Manifest.txt
|
87
|
+
- README.txt
|
88
|
+
- Rakefile
|
89
|
+
- TODO
|
90
|
+
- bin/mongrel_rails
|
91
|
+
- examples/builder.rb
|
92
|
+
- examples/camping/README
|
93
|
+
- examples/camping/blog.rb
|
94
|
+
- examples/camping/tepee.rb
|
95
|
+
- examples/httpd.conf
|
96
|
+
- examples/mime.yaml
|
97
|
+
- examples/mongrel.conf
|
98
|
+
- examples/monitrc
|
99
|
+
- examples/random_thrash.rb
|
100
|
+
- examples/simpletest.rb
|
101
|
+
- examples/webrick_compare.rb
|
102
|
+
- ext/http11/ext_help.h
|
103
|
+
- ext/http11/extconf.rb
|
104
|
+
- ext/http11/http11.c
|
105
|
+
- ext/http11/http11_parser.c
|
106
|
+
- ext/http11/http11_parser.h
|
107
|
+
- ext/http11/http11_parser.java.rl
|
108
|
+
- ext/http11/http11_parser.rl
|
109
|
+
- ext/http11/http11_parser_common.rl
|
110
|
+
- ext/http11/Http11Service.java
|
111
|
+
- ext/http11/org/jruby/mongrel/Http11.java
|
112
|
+
- ext/http11/org/jruby/mongrel/Http11Parser.java
|
113
|
+
- lib/mongrel.rb
|
114
|
+
- lib/mongrel/camping.rb
|
115
|
+
- lib/mongrel/cgi.rb
|
116
|
+
- lib/mongrel/command.rb
|
117
|
+
- lib/mongrel/configurator.rb
|
118
|
+
- lib/mongrel/const.rb
|
119
|
+
- lib/mongrel/debug.rb
|
120
|
+
- lib/mongrel/gems.rb
|
121
|
+
- lib/mongrel/handlers.rb
|
122
|
+
- lib/mongrel/header_out.rb
|
123
|
+
- lib/mongrel/http_request.rb
|
124
|
+
- lib/mongrel/http_response.rb
|
125
|
+
- lib/mongrel/init.rb
|
126
|
+
- lib/mongrel/mime_types.yml
|
127
|
+
- lib/mongrel/rails.rb
|
128
|
+
- lib/mongrel/stats.rb
|
129
|
+
- lib/mongrel/tcphack.rb
|
130
|
+
- lib/mongrel/uri_classifier.rb
|
131
|
+
- setup.rb
|
132
|
+
- tasks/gem.rake
|
133
|
+
- tasks/native.rake
|
134
|
+
- tasks/ragel.rake
|
135
|
+
- test/mime.yaml
|
136
|
+
- test/mongrel.conf
|
137
|
+
- test/test_cgi_wrapper.rb
|
138
|
+
- test/test_command.rb
|
139
|
+
- test/test_conditional.rb
|
140
|
+
- test/test_configurator.rb
|
141
|
+
- test/test_debug.rb
|
142
|
+
- test/test_handlers.rb
|
143
|
+
- test/test_http11.rb
|
144
|
+
- test/test_redirect_handler.rb
|
145
|
+
- test/test_request_progress.rb
|
146
|
+
- test/test_response.rb
|
147
|
+
- test/test_stats.rb
|
148
|
+
- test/test_uriclassifier.rb
|
149
|
+
- test/test_ws.rb
|
150
|
+
- test/testhelp.rb
|
151
|
+
- tools/trickletest.rb
|
152
|
+
- lib/1.8/http11.so
|
153
|
+
- lib/1.9/http11.so
|
154
|
+
has_rdoc: true
|
155
|
+
homepage: http://mongrel.rubyforge.org/
|
156
|
+
licenses: []
|
157
|
+
|
158
|
+
post_install_message:
|
159
|
+
rdoc_options:
|
160
|
+
- --main
|
161
|
+
- README.txt
|
162
|
+
require_paths:
|
163
|
+
- lib
|
164
|
+
- ext
|
165
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 1.8.6
|
170
|
+
version:
|
171
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">"
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: 1.3.1
|
176
|
+
version:
|
177
|
+
requirements: []
|
178
|
+
|
179
|
+
rubyforge_project: mongrel
|
180
|
+
rubygems_version: 1.3.5
|
181
|
+
signing_key:
|
182
|
+
specification_version: 3
|
183
|
+
summary: Mongrel is a small library that provides a very fast HTTP 1.1 server for Ruby web applications
|
184
|
+
test_files:
|
185
|
+
- test/test_http11.rb
|
186
|
+
- test/test_uriclassifier.rb
|
187
|
+
- test/test_response.rb
|
188
|
+
- test/test_configurator.rb
|
189
|
+
- test/test_conditional.rb
|
190
|
+
- test/test_handlers.rb
|
191
|
+
- test/test_redirect_handler.rb
|
192
|
+
- test/test_debug.rb
|
193
|
+
- test/test_request_progress.rb
|
194
|
+
- test/test_stats.rb
|
195
|
+
- test/test_command.rb
|
196
|
+
- test/test_ws.rb
|
197
|
+
- test/test_cgi_wrapper.rb
|