grockit-thin 0.8.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.
Files changed (136) hide show
  1. data/CHANGELOG +220 -0
  2. data/COMMITTERS +3 -0
  3. data/COPYING +18 -0
  4. data/README +77 -0
  5. data/Rakefile +13 -0
  6. data/benchmark/abc +51 -0
  7. data/benchmark/benchmarker.rb +80 -0
  8. data/benchmark/runner +79 -0
  9. data/bin/thin +6 -0
  10. data/example/adapter.rb +32 -0
  11. data/example/config.ru +23 -0
  12. data/example/monit_sockets +20 -0
  13. data/example/monit_unixsock +20 -0
  14. data/example/myapp.rb +1 -0
  15. data/example/ramaze.ru +12 -0
  16. data/example/thin.god +80 -0
  17. data/example/thin_solaris_smf.erb +36 -0
  18. data/example/thin_solaris_smf.readme.txt +150 -0
  19. data/example/vlad.rake +61 -0
  20. data/ext/thin_parser/common.rl +55 -0
  21. data/ext/thin_parser/ext_help.h +14 -0
  22. data/ext/thin_parser/extconf.rb +6 -0
  23. data/ext/thin_parser/parser.c +1218 -0
  24. data/ext/thin_parser/parser.h +49 -0
  25. data/ext/thin_parser/parser.rl +159 -0
  26. data/ext/thin_parser/thin.c +433 -0
  27. data/lib/rack/adapter/loader.rb +78 -0
  28. data/lib/rack/adapter/rails.rb +167 -0
  29. data/lib/rack/handler/thin.rb +18 -0
  30. data/lib/thin.rb +49 -0
  31. data/lib/thin/backends/base.rb +135 -0
  32. data/lib/thin/backends/swiftiply_client.rb +56 -0
  33. data/lib/thin/backends/tcp_server.rb +29 -0
  34. data/lib/thin/backends/unix_server.rb +51 -0
  35. data/lib/thin/command.rb +52 -0
  36. data/lib/thin/connection.rb +178 -0
  37. data/lib/thin/controllers/cluster.rb +121 -0
  38. data/lib/thin/controllers/controller.rb +182 -0
  39. data/lib/thin/controllers/service.rb +75 -0
  40. data/lib/thin/controllers/service.sh.erb +39 -0
  41. data/lib/thin/daemonizing.rb +163 -0
  42. data/lib/thin/headers.rb +31 -0
  43. data/lib/thin/logging.rb +54 -0
  44. data/lib/thin/request.rb +144 -0
  45. data/lib/thin/response.rb +96 -0
  46. data/lib/thin/runner.rb +208 -0
  47. data/lib/thin/server.rb +241 -0
  48. data/lib/thin/stats.html.erb +216 -0
  49. data/lib/thin/stats.rb +52 -0
  50. data/lib/thin/statuses.rb +43 -0
  51. data/lib/thin/version.rb +32 -0
  52. data/spec/backends/swiftiply_client_spec.rb +66 -0
  53. data/spec/backends/tcp_server_spec.rb +33 -0
  54. data/spec/backends/unix_server_spec.rb +37 -0
  55. data/spec/command_spec.rb +20 -0
  56. data/spec/configs/cluster.yml +9 -0
  57. data/spec/configs/single.yml +9 -0
  58. data/spec/connection_spec.rb +105 -0
  59. data/spec/controllers/cluster_spec.rb +179 -0
  60. data/spec/controllers/controller_spec.rb +121 -0
  61. data/spec/controllers/service_spec.rb +50 -0
  62. data/spec/daemonizing_spec.rb +192 -0
  63. data/spec/headers_spec.rb +29 -0
  64. data/spec/logging_spec.rb +46 -0
  65. data/spec/perf/request_perf_spec.rb +50 -0
  66. data/spec/perf/response_perf_spec.rb +19 -0
  67. data/spec/perf/server_perf_spec.rb +39 -0
  68. data/spec/rack/loader_spec.rb +29 -0
  69. data/spec/rack/rails_adapter_spec.rb +106 -0
  70. data/spec/rails_app/app/controllers/application.rb +10 -0
  71. data/spec/rails_app/app/controllers/simple_controller.rb +19 -0
  72. data/spec/rails_app/app/helpers/application_helper.rb +3 -0
  73. data/spec/rails_app/app/views/simple/index.html.erb +15 -0
  74. data/spec/rails_app/config/boot.rb +109 -0
  75. data/spec/rails_app/config/environment.rb +64 -0
  76. data/spec/rails_app/config/environments/development.rb +18 -0
  77. data/spec/rails_app/config/environments/production.rb +19 -0
  78. data/spec/rails_app/config/environments/test.rb +22 -0
  79. data/spec/rails_app/config/initializers/inflections.rb +10 -0
  80. data/spec/rails_app/config/initializers/mime_types.rb +5 -0
  81. data/spec/rails_app/config/routes.rb +35 -0
  82. data/spec/rails_app/public/404.html +30 -0
  83. data/spec/rails_app/public/422.html +30 -0
  84. data/spec/rails_app/public/500.html +30 -0
  85. data/spec/rails_app/public/dispatch.cgi +10 -0
  86. data/spec/rails_app/public/dispatch.fcgi +24 -0
  87. data/spec/rails_app/public/dispatch.rb +10 -0
  88. data/spec/rails_app/public/favicon.ico +0 -0
  89. data/spec/rails_app/public/images/rails.png +0 -0
  90. data/spec/rails_app/public/index.html +277 -0
  91. data/spec/rails_app/public/javascripts/application.js +2 -0
  92. data/spec/rails_app/public/javascripts/controls.js +963 -0
  93. data/spec/rails_app/public/javascripts/dragdrop.js +972 -0
  94. data/spec/rails_app/public/javascripts/effects.js +1120 -0
  95. data/spec/rails_app/public/javascripts/prototype.js +4225 -0
  96. data/spec/rails_app/public/robots.txt +5 -0
  97. data/spec/rails_app/script/about +3 -0
  98. data/spec/rails_app/script/console +3 -0
  99. data/spec/rails_app/script/destroy +3 -0
  100. data/spec/rails_app/script/generate +3 -0
  101. data/spec/rails_app/script/performance/benchmarker +3 -0
  102. data/spec/rails_app/script/performance/profiler +3 -0
  103. data/spec/rails_app/script/performance/request +3 -0
  104. data/spec/rails_app/script/plugin +3 -0
  105. data/spec/rails_app/script/process/inspector +3 -0
  106. data/spec/rails_app/script/process/reaper +3 -0
  107. data/spec/rails_app/script/process/spawner +3 -0
  108. data/spec/rails_app/script/runner +3 -0
  109. data/spec/rails_app/script/server +3 -0
  110. data/spec/request/mongrel_spec.rb +39 -0
  111. data/spec/request/parser_spec.rb +191 -0
  112. data/spec/request/persistent_spec.rb +35 -0
  113. data/spec/request/processing_spec.rb +45 -0
  114. data/spec/response_spec.rb +76 -0
  115. data/spec/runner_spec.rb +167 -0
  116. data/spec/server/builder_spec.rb +44 -0
  117. data/spec/server/pipelining_spec.rb +109 -0
  118. data/spec/server/robustness_spec.rb +34 -0
  119. data/spec/server/stopping_spec.rb +45 -0
  120. data/spec/server/swiftiply.yml +6 -0
  121. data/spec/server/swiftiply_spec.rb +32 -0
  122. data/spec/server/tcp_spec.rb +57 -0
  123. data/spec/server/threaded_spec.rb +27 -0
  124. data/spec/server/unix_socket_spec.rb +26 -0
  125. data/spec/server_spec.rb +96 -0
  126. data/spec/spec_helper.rb +219 -0
  127. data/tasks/announce.rake +22 -0
  128. data/tasks/deploy.rake +16 -0
  129. data/tasks/email.erb +30 -0
  130. data/tasks/ext.rake +42 -0
  131. data/tasks/gem.rake +102 -0
  132. data/tasks/rdoc.rake +25 -0
  133. data/tasks/site.rake +15 -0
  134. data/tasks/spec.rake +48 -0
  135. data/tasks/stats.rake +28 -0
  136. metadata +240 -0
data/tasks/gem.rake ADDED
@@ -0,0 +1,102 @@
1
+ require 'rake/gempackagetask'
2
+
3
+ WIN_SUFFIX = ENV['WIN_SUFFIX'] || 'i386-mswin32'
4
+
5
+ task :clean => :clobber_package
6
+
7
+ spec = Gem::Specification.new do |s|
8
+ s.name = Thin::NAME
9
+ s.version = Thin::VERSION::STRING
10
+ s.platform = WIN ? Gem::Platform::CURRENT : Gem::Platform::RUBY
11
+ s.summary =
12
+ s.description = "A thin and fast web server"
13
+ s.author = "Marc-Andre Cournoyer"
14
+ s.email = 'macournoyer@gmail.com'
15
+ s.homepage = 'http://code.macournoyer.com/thin/'
16
+ s.rubyforge_project = 'thin'
17
+ s.has_rdoc = true
18
+ s.executables = %w(thin)
19
+
20
+ s.required_ruby_version = '>= 1.8.5'
21
+
22
+ s.add_dependency 'rack', '>= 0.3.0'
23
+ s.add_dependency 'eventmachine', '>= 0.12.0'
24
+ unless WIN
25
+ s.add_dependency 'daemons', '>= 1.0.9'
26
+ end
27
+
28
+ s.files = %w(COPYING CHANGELOG COMMITTERS README Rakefile) +
29
+ Dir.glob("{benchmark,bin,doc,example,lib,spec,tasks}/**/*") +
30
+ Dir.glob("ext/**/*.{h,c,rb,rl}")
31
+
32
+ if WIN
33
+ s.files += ["lib/thin_parser.#{Config::CONFIG['DLEXT']}"]
34
+ else
35
+ s.extensions = FileList["ext/**/extconf.rb"].to_a
36
+ end
37
+
38
+ s.require_path = "lib"
39
+ s.bindir = "bin"
40
+ end
41
+
42
+ Rake::GemPackageTask.new(spec) do |p|
43
+ p.gem_spec = spec
44
+ end
45
+
46
+ task :tag_warn do
47
+ puts "*" * 40
48
+ puts "Don't forget to tag the release:"
49
+ puts
50
+ puts " git tag -m 'Tagging #{Thin::SERVER}' -a v#{Thin::VERSION::STRING}"
51
+ puts
52
+ puts "or run rake tag"
53
+ puts "*" * 40
54
+ end
55
+ task :tag do
56
+ sh "git tag -m 'Tagging #{Thin::SERVER}' -a v#{Thin::VERSION::STRING}"
57
+ end
58
+ task :gem => :tag_warn
59
+
60
+ namespace :gem do
61
+ desc 'Upload gem to code.macournoyer.com'
62
+ task :upload => :gem do
63
+ upload "pkg/#{spec.full_name}.gem", 'gems'
64
+ system 'ssh macournoyer@macournoyer.com "cd code.macournoyer.com && gem generate_index"'
65
+ end
66
+
67
+ namespace :upload do
68
+ desc 'Upload the precompiled win32 gem to code.macournoyer.com'
69
+ task :win do
70
+ upload "pkg/#{spec.full_name}-#{WIN_SUFFIX}.gem", 'gems'
71
+ system 'ssh macournoyer@macournoyer.com "cd code.macournoyer.com && gem generate_index"'
72
+ end
73
+
74
+ desc 'Upload gems (ruby & win32) to rubyforge.org'
75
+ task :rubyforge => :gem do
76
+ sh 'rubyforge login'
77
+ sh "rubyforge add_release thin thin #{Thin::VERSION::STRING} pkg/#{spec.full_name}.gem"
78
+ sh "rubyforge add_file thin thin #{Thin::VERSION::STRING} pkg/#{spec.full_name}.gem"
79
+ sh "rubyforge add_file thin thin #{Thin::VERSION::STRING} pkg/#{spec.full_name}-#{WIN_SUFFIX}.gem"
80
+ end
81
+ end
82
+
83
+ desc 'Download the Windows gem from Kevin repo'
84
+ task 'download:win' => 'pkg' do
85
+ cd 'pkg' do
86
+ `wget http://rubygems.bantamtech.com/ruby18/gems/#{spec.full_name}-#{WIN_SUFFIX}.gem`
87
+ end
88
+ end
89
+ end
90
+
91
+ task :install => [:clobber, :compile, :package] do
92
+ sh "#{SUDO} #{gem} install pkg/#{spec.full_name}.gem"
93
+ end
94
+
95
+ task :uninstall => :clean do
96
+ sh "#{SUDO} #{gem} uninstall -v #{Thin::VERSION::STRING} -x #{Thin::NAME}"
97
+ end
98
+
99
+
100
+ def gem
101
+ RUBY_1_9 ? 'gem19' : 'gem'
102
+ end
data/tasks/rdoc.rake ADDED
@@ -0,0 +1,25 @@
1
+ require 'rake/rdoctask'
2
+
3
+ CLEAN.include %w(doc/rdoc)
4
+
5
+ Rake::RDocTask.new do |rdoc|
6
+ rdoc.rdoc_dir = 'doc/rdoc'
7
+ rdoc.options += ['--quiet', '--title', Thin::NAME,
8
+ "--opname", "index.html",
9
+ "--line-numbers",
10
+ "--main", "README",
11
+ "--inline-source"]
12
+ rdoc.template = "site/rdoc.rb"
13
+ rdoc.main = "README"
14
+ rdoc.title = Thin::NAME
15
+ rdoc.rdoc_files.add %w(README) +
16
+ FileList['lib/**/*.rb'] +
17
+ FileList['bin/*']
18
+ end
19
+
20
+ namespace :rdoc do
21
+ desc 'Upload rdoc to code.macournoyer.com'
22
+ task :upload => :rdoc do
23
+ upload "doc/rdoc", 'thin/doc', :replace => true
24
+ end
25
+ end
data/tasks/site.rake ADDED
@@ -0,0 +1,15 @@
1
+ namespace :site do
2
+ task :build do
3
+ mkdir_p 'tmp/site/images'
4
+ cd 'tmp/site' do
5
+ sh "SITE_ROOT='/thin' ruby ../../site/thin.rb --dump"
6
+ end
7
+ cp 'site/style.css', 'tmp/site'
8
+ cp_r Dir['site/images/*'], 'tmp/site/images'
9
+ end
10
+
11
+ desc 'Upload website to code.macournoyer.com'
12
+ task :upload => 'site:build' do
13
+ upload 'tmp/site/*', 'thin'
14
+ end
15
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,48 @@
1
+ CLEAN.include %w(coverage tmp log)
2
+
3
+ if RUBY_1_9 # RSpec not yet working w/ Ruby 1.9
4
+ task :spec do
5
+ warn 'RSpec not yet supporting Ruby 1.9, so cannot run the specs :('
6
+ end
7
+ else
8
+ require 'spec/rake/spectask'
9
+
10
+ PERF_SPECS = FileList['spec/perf/*_spec.rb']
11
+ WIN_SPECS = %w(
12
+ spec/backends/unix_server_spec.rb
13
+ spec/controllers/service_spec.rb
14
+ spec/daemonizing_spec.rb
15
+ spec/server/unix_socket_spec.rb
16
+ spec/server/swiftiply_spec.rb
17
+ )
18
+ # HACK Event machine causes some problems when running multiple
19
+ # tests in the same VM so we split the specs in 2 before I find
20
+ # a better solution...
21
+ SPECS2 = %w(spec/server/threaded_spec.rb spec/server/tcp_spec.rb)
22
+ SPECS = FileList['spec/**/*_spec.rb'] - PERF_SPECS - SPECS2
23
+
24
+ def spec_task(name, specs)
25
+ Spec::Rake::SpecTask.new(name) do |t|
26
+ t.spec_opts = %w(-fs -c)
27
+ t.spec_files = specs
28
+ end
29
+ end
30
+
31
+ desc "Run all examples"
32
+ spec_task :spec, SPECS
33
+ spec_task :spec2, SPECS2
34
+ task :spec => [:compile, :spec2]
35
+
36
+ desc "Run all performance examples"
37
+ spec_task 'spec:perf', PERF_SPECS
38
+
39
+ task :check_benchmark_unit_gem do
40
+ begin
41
+ require 'benchmark_unit'
42
+ rescue LoadError
43
+ abort "To run specs, install benchmark_unit gem"
44
+ end
45
+ end
46
+
47
+ task 'spec:perf' => :check_benchmark_unit_gem
48
+ end
data/tasks/stats.rake ADDED
@@ -0,0 +1,28 @@
1
+ desc 'Show some stats about the code'
2
+ task :stats do
3
+ line_count = proc do |path|
4
+ Dir[path].collect { |f| File.open(f).readlines.reject { |l| l =~ /(^\s*(\#|\/\*))|^\s*$/ }.size }.inject(0){ |sum,n| sum += n }
5
+ end
6
+ comment_count = proc do |path|
7
+ Dir[path].collect { |f| File.open(f).readlines.select { |l| l =~ /^\s*\#/ }.size }.inject(0) { |sum,n| sum += n }
8
+ end
9
+ lib = line_count['lib/**/*.rb']
10
+ comment = comment_count['lib/**/*.rb']
11
+ ext = line_count['ext/**/*.{c,h}']
12
+ spec = line_count['spec/**/*.rb']
13
+
14
+ comment_ratio = '%1.2f' % (comment.to_f / lib.to_f)
15
+ spec_ratio = '%1.2f' % (spec.to_f / lib.to_f)
16
+
17
+ puts '/======================\\'
18
+ puts '| Part LOC |'
19
+ puts '|======================|'
20
+ puts "| lib #{lib.to_s.ljust(5)}|"
21
+ puts "| lib comments #{comment.to_s.ljust(5)}|"
22
+ puts "| ext #{ext.to_s.ljust(5)}|"
23
+ puts "| spec #{spec.to_s.ljust(5)}|"
24
+ puts '| ratios: |'
25
+ puts "| lib/comment #{comment_ratio.to_s.ljust(5)}|"
26
+ puts "| lib/spec #{spec_ratio.to_s.ljust(5)}|"
27
+ puts '\======================/'
28
+ end
metadata ADDED
@@ -0,0 +1,240 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: grockit-thin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.2
5
+ platform: ruby
6
+ authors:
7
+ - Marc-Andre Cournoyer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-06-23 00:00:00 -07:00
13
+ default_executable: thin
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rack
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.3.0
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: eventmachine
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 0.12.0
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: daemons
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.0.9
41
+ version:
42
+ description:
43
+ email: macournoyer@gmail.com
44
+ executables:
45
+ - thin
46
+ extensions:
47
+ - ext/thin_parser/extconf.rb
48
+ extra_rdoc_files: []
49
+
50
+ files:
51
+ - COPYING
52
+ - CHANGELOG
53
+ - COMMITTERS
54
+ - README
55
+ - Rakefile
56
+ - benchmark/abc
57
+ - benchmark/benchmarker.rb
58
+ - benchmark/runner
59
+ - bin/thin
60
+ - example/adapter.rb
61
+ - example/config.ru
62
+ - example/monit_sockets
63
+ - example/monit_unixsock
64
+ - example/myapp.rb
65
+ - example/ramaze.ru
66
+ - example/thin.god
67
+ - example/thin_solaris_smf.erb
68
+ - example/thin_solaris_smf.readme.txt
69
+ - example/vlad.rake
70
+ - lib/rack
71
+ - lib/rack/adapter
72
+ - lib/rack/adapter/loader.rb
73
+ - lib/rack/adapter/rails.rb
74
+ - lib/rack/handler
75
+ - lib/rack/handler/thin.rb
76
+ - lib/thin
77
+ - lib/thin/backends
78
+ - lib/thin/backends/base.rb
79
+ - lib/thin/backends/swiftiply_client.rb
80
+ - lib/thin/backends/tcp_server.rb
81
+ - lib/thin/backends/unix_server.rb
82
+ - lib/thin/command.rb
83
+ - lib/thin/connection.rb
84
+ - lib/thin/controllers
85
+ - lib/thin/controllers/cluster.rb
86
+ - lib/thin/controllers/controller.rb
87
+ - lib/thin/controllers/service.rb
88
+ - lib/thin/controllers/service.sh.erb
89
+ - lib/thin/daemonizing.rb
90
+ - lib/thin/headers.rb
91
+ - lib/thin/logging.rb
92
+ - lib/thin/request.rb
93
+ - lib/thin/response.rb
94
+ - lib/thin/runner.rb
95
+ - lib/thin/server.rb
96
+ - lib/thin/stats.html.erb
97
+ - lib/thin/stats.rb
98
+ - lib/thin/statuses.rb
99
+ - lib/thin/version.rb
100
+ - lib/thin.rb
101
+ - tasks/announce.rake
102
+ - tasks/deploy.rake
103
+ - tasks/email.erb
104
+ - tasks/ext.rake
105
+ - tasks/gem.rake
106
+ - tasks/rdoc.rake
107
+ - tasks/site.rake
108
+ - tasks/spec.rake
109
+ - tasks/stats.rake
110
+ - ext/thin_parser/ext_help.h
111
+ - ext/thin_parser/parser.h
112
+ - ext/thin_parser/parser.c
113
+ - ext/thin_parser/thin.c
114
+ - ext/thin_parser/extconf.rb
115
+ - ext/thin_parser/common.rl
116
+ - ext/thin_parser/parser.rl
117
+ has_rdoc: true
118
+ homepage: http://code.macournoyer.com/thin/
119
+ post_install_message:
120
+ rdoc_options: []
121
+
122
+ require_paths:
123
+ - lib
124
+ required_ruby_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: "0"
129
+ version:
130
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: "0"
135
+ version:
136
+ requirements: []
137
+
138
+ rubyforge_project:
139
+ rubygems_version: 1.2.0
140
+ signing_key:
141
+ specification_version: 2
142
+ summary: A thin and fast web server
143
+ test_files:
144
+ - spec/backends
145
+ - spec/backends/swiftiply_client_spec.rb
146
+ - spec/backends/tcp_server_spec.rb
147
+ - spec/backends/unix_server_spec.rb
148
+ - spec/command_spec.rb
149
+ - spec/configs
150
+ - spec/configs/cluster.yml
151
+ - spec/configs/single.yml
152
+ - spec/connection_spec.rb
153
+ - spec/controllers
154
+ - spec/controllers/cluster_spec.rb
155
+ - spec/controllers/controller_spec.rb
156
+ - spec/controllers/service_spec.rb
157
+ - spec/daemonizing_spec.rb
158
+ - spec/headers_spec.rb
159
+ - spec/logging_spec.rb
160
+ - spec/perf
161
+ - spec/perf/request_perf_spec.rb
162
+ - spec/perf/response_perf_spec.rb
163
+ - spec/perf/server_perf_spec.rb
164
+ - spec/rack
165
+ - spec/rack/loader_spec.rb
166
+ - spec/rack/rails_adapter_spec.rb
167
+ - spec/rails_app
168
+ - spec/rails_app/app
169
+ - spec/rails_app/app/controllers
170
+ - spec/rails_app/app/controllers/application.rb
171
+ - spec/rails_app/app/controllers/simple_controller.rb
172
+ - spec/rails_app/app/helpers
173
+ - spec/rails_app/app/helpers/application_helper.rb
174
+ - spec/rails_app/app/views
175
+ - spec/rails_app/app/views/simple
176
+ - spec/rails_app/app/views/simple/index.html.erb
177
+ - spec/rails_app/config
178
+ - spec/rails_app/config/boot.rb
179
+ - spec/rails_app/config/environment.rb
180
+ - spec/rails_app/config/environments
181
+ - spec/rails_app/config/environments/development.rb
182
+ - spec/rails_app/config/environments/production.rb
183
+ - spec/rails_app/config/environments/test.rb
184
+ - spec/rails_app/config/initializers
185
+ - spec/rails_app/config/initializers/inflections.rb
186
+ - spec/rails_app/config/initializers/mime_types.rb
187
+ - spec/rails_app/config/routes.rb
188
+ - spec/rails_app/public
189
+ - spec/rails_app/public/404.html
190
+ - spec/rails_app/public/422.html
191
+ - spec/rails_app/public/500.html
192
+ - spec/rails_app/public/dispatch.cgi
193
+ - spec/rails_app/public/dispatch.fcgi
194
+ - spec/rails_app/public/dispatch.rb
195
+ - spec/rails_app/public/favicon.ico
196
+ - spec/rails_app/public/images
197
+ - spec/rails_app/public/images/rails.png
198
+ - spec/rails_app/public/index.html
199
+ - spec/rails_app/public/javascripts
200
+ - spec/rails_app/public/javascripts/application.js
201
+ - spec/rails_app/public/javascripts/controls.js
202
+ - spec/rails_app/public/javascripts/dragdrop.js
203
+ - spec/rails_app/public/javascripts/effects.js
204
+ - spec/rails_app/public/javascripts/prototype.js
205
+ - spec/rails_app/public/robots.txt
206
+ - spec/rails_app/script
207
+ - spec/rails_app/script/about
208
+ - spec/rails_app/script/console
209
+ - spec/rails_app/script/destroy
210
+ - spec/rails_app/script/generate
211
+ - spec/rails_app/script/performance
212
+ - spec/rails_app/script/performance/benchmarker
213
+ - spec/rails_app/script/performance/profiler
214
+ - spec/rails_app/script/performance/request
215
+ - spec/rails_app/script/plugin
216
+ - spec/rails_app/script/process
217
+ - spec/rails_app/script/process/inspector
218
+ - spec/rails_app/script/process/reaper
219
+ - spec/rails_app/script/process/spawner
220
+ - spec/rails_app/script/runner
221
+ - spec/rails_app/script/server
222
+ - spec/request
223
+ - spec/request/mongrel_spec.rb
224
+ - spec/request/parser_spec.rb
225
+ - spec/request/persistent_spec.rb
226
+ - spec/request/processing_spec.rb
227
+ - spec/response_spec.rb
228
+ - spec/runner_spec.rb
229
+ - spec/server
230
+ - spec/server/builder_spec.rb
231
+ - spec/server/pipelining_spec.rb
232
+ - spec/server/robustness_spec.rb
233
+ - spec/server/stopping_spec.rb
234
+ - spec/server/swiftiply.yml
235
+ - spec/server/swiftiply_spec.rb
236
+ - spec/server/tcp_spec.rb
237
+ - spec/server/threaded_spec.rb
238
+ - spec/server/unix_socket_spec.rb
239
+ - spec/server_spec.rb
240
+ - spec/spec_helper.rb