rsense-server 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/Gemfile +14 -0
  4. data/Guardfile +5 -0
  5. data/LICENSE.txt +1 -0
  6. data/README.md +51 -0
  7. data/Rakefile +9 -0
  8. data/bin/_rsense.rb +115 -0
  9. data/config/puma.rb +2 -0
  10. data/lib/rsense/server/code.rb +38 -0
  11. data/lib/rsense/server/command/completion_result.rb +11 -0
  12. data/lib/rsense/server/command/special_meth.rb +18 -0
  13. data/lib/rsense/server/command/type_inference_method.rb +24 -0
  14. data/lib/rsense/server/command.rb +239 -0
  15. data/lib/rsense/server/config.rb +70 -0
  16. data/lib/rsense/server/gem_path.rb +18 -0
  17. data/lib/rsense/server/listeners/find_definition_event_listener.rb +91 -0
  18. data/lib/rsense/server/listeners/where_event_listener.rb +39 -0
  19. data/lib/rsense/server/load_path.rb +62 -0
  20. data/lib/rsense/server/options.rb +85 -0
  21. data/lib/rsense/server/parser.rb +17 -0
  22. data/lib/rsense/server/path_info.rb +17 -0
  23. data/lib/rsense/server/project.rb +24 -0
  24. data/lib/rsense/server/version.rb +5 -0
  25. data/lib/rsense/server.rb +18 -0
  26. data/rsense-server.gemspec +35 -0
  27. data/spec/fixtures/config_fixture/.rsense +4 -0
  28. data/spec/fixtures/deeply/nested/thing.rb +0 -0
  29. data/spec/fixtures/find_def_sample.json +10 -0
  30. data/spec/fixtures/sample.json +10 -0
  31. data/spec/fixtures/test_gem/.gitignore +22 -0
  32. data/spec/fixtures/test_gem/Gemfile +4 -0
  33. data/spec/fixtures/test_gem/LICENSE.txt +22 -0
  34. data/spec/fixtures/test_gem/README.md +29 -0
  35. data/spec/fixtures/test_gem/Rakefile +2 -0
  36. data/spec/fixtures/test_gem/lib/sample/version.rb +3 -0
  37. data/spec/fixtures/test_gem/lib/sample.rb +16 -0
  38. data/spec/fixtures/test_gem/sample.gemspec +23 -0
  39. data/spec/fixtures/test_gem/test.json +10 -0
  40. data/spec/rsense/server/code_spec.rb +44 -0
  41. data/spec/rsense/server/command/special_meth_spec.rb +23 -0
  42. data/spec/rsense/server/command_spec.rb +108 -0
  43. data/spec/rsense/server/config_spec.rb +27 -0
  44. data/spec/rsense/server/gem_path_spec.rb +16 -0
  45. data/spec/rsense/server/load_path_spec.rb +63 -0
  46. data/spec/rsense/server/options_spec.rb +33 -0
  47. data/spec/rsense/server/path_info_spec.rb +11 -0
  48. data/spec/rsense/server/project_spec.rb +18 -0
  49. data/spec/rsense/server_spec.rb +7 -0
  50. data/spec/spec_helper.rb +16 -0
  51. data/vendor/gems/puma-2.8.2-java/COPYING +55 -0
  52. data/vendor/gems/puma-2.8.2-java/DEPLOYMENT.md +92 -0
  53. data/vendor/gems/puma-2.8.2-java/Gemfile +17 -0
  54. data/vendor/gems/puma-2.8.2-java/History.txt +532 -0
  55. data/vendor/gems/puma-2.8.2-java/LICENSE +26 -0
  56. data/vendor/gems/puma-2.8.2-java/Manifest.txt +68 -0
  57. data/vendor/gems/puma-2.8.2-java/README.md +251 -0
  58. data/vendor/gems/puma-2.8.2-java/Rakefile +158 -0
  59. data/vendor/gems/puma-2.8.2-java/bin/puma +10 -0
  60. data/vendor/gems/puma-2.8.2-java/bin/puma-wild +17 -0
  61. data/vendor/gems/puma-2.8.2-java/bin/pumactl +12 -0
  62. data/vendor/gems/puma-2.8.2-java/docs/config.md +0 -0
  63. data/vendor/gems/puma-2.8.2-java/docs/nginx.md +80 -0
  64. data/vendor/gems/puma-2.8.2-java/docs/signals.md +42 -0
  65. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/PumaHttp11Service.java +17 -0
  66. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/ext_help.h +15 -0
  67. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/extconf.rb +8 -0
  68. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/http11_parser.c +1225 -0
  69. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/http11_parser.h +64 -0
  70. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/http11_parser.java.rl +161 -0
  71. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/http11_parser.rl +146 -0
  72. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/http11_parser_common.rl +54 -0
  73. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/io_buffer.c +155 -0
  74. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/mini_ssl.c +195 -0
  75. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/org/jruby/puma/Http11.java +225 -0
  76. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/org/jruby/puma/Http11Parser.java +488 -0
  77. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/org/jruby/puma/MiniSSL.java +289 -0
  78. data/vendor/gems/puma-2.8.2-java/ext/puma_http11/puma_http11.c +491 -0
  79. data/vendor/gems/puma-2.8.2-java/lib/puma/accept_nonblock.rb +23 -0
  80. data/vendor/gems/puma-2.8.2-java/lib/puma/app/status.rb +59 -0
  81. data/vendor/gems/puma-2.8.2-java/lib/puma/binder.rb +298 -0
  82. data/vendor/gems/puma-2.8.2-java/lib/puma/capistrano.rb +86 -0
  83. data/vendor/gems/puma-2.8.2-java/lib/puma/cli.rb +587 -0
  84. data/vendor/gems/puma-2.8.2-java/lib/puma/client.rb +289 -0
  85. data/vendor/gems/puma-2.8.2-java/lib/puma/cluster.rb +389 -0
  86. data/vendor/gems/puma-2.8.2-java/lib/puma/compat.rb +18 -0
  87. data/vendor/gems/puma-2.8.2-java/lib/puma/configuration.rb +377 -0
  88. data/vendor/gems/puma-2.8.2-java/lib/puma/const.rb +165 -0
  89. data/vendor/gems/puma-2.8.2-java/lib/puma/control_cli.rb +251 -0
  90. data/vendor/gems/puma-2.8.2-java/lib/puma/daemon_ext.rb +25 -0
  91. data/vendor/gems/puma-2.8.2-java/lib/puma/delegation.rb +11 -0
  92. data/vendor/gems/puma-2.8.2-java/lib/puma/detect.rb +4 -0
  93. data/vendor/gems/puma-2.8.2-java/lib/puma/events.rb +130 -0
  94. data/vendor/gems/puma-2.8.2-java/lib/puma/io_buffer.rb +7 -0
  95. data/vendor/gems/puma-2.8.2-java/lib/puma/java_io_buffer.rb +45 -0
  96. data/vendor/gems/puma-2.8.2-java/lib/puma/jruby_restart.rb +83 -0
  97. data/vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb +148 -0
  98. data/vendor/gems/puma-2.8.2-java/lib/puma/null_io.rb +34 -0
  99. data/vendor/gems/puma-2.8.2-java/lib/puma/puma_http11.jar +0 -0
  100. data/vendor/gems/puma-2.8.2-java/lib/puma/rack_default.rb +7 -0
  101. data/vendor/gems/puma-2.8.2-java/lib/puma/rack_patch.rb +45 -0
  102. data/vendor/gems/puma-2.8.2-java/lib/puma/reactor.rb +183 -0
  103. data/vendor/gems/puma-2.8.2-java/lib/puma/runner.rb +146 -0
  104. data/vendor/gems/puma-2.8.2-java/lib/puma/server.rb +801 -0
  105. data/vendor/gems/puma-2.8.2-java/lib/puma/single.rb +102 -0
  106. data/vendor/gems/puma-2.8.2-java/lib/puma/tcp_logger.rb +32 -0
  107. data/vendor/gems/puma-2.8.2-java/lib/puma/thread_pool.rb +185 -0
  108. data/vendor/gems/puma-2.8.2-java/lib/puma/util.rb +9 -0
  109. data/vendor/gems/puma-2.8.2-java/lib/puma.rb +14 -0
  110. data/vendor/gems/puma-2.8.2-java/lib/rack/handler/puma.rb +66 -0
  111. data/vendor/gems/puma-2.8.2-java/puma.gemspec +55 -0
  112. data/vendor/gems/puma-2.8.2-java/test/test_app_status.rb +92 -0
  113. data/vendor/gems/puma-2.8.2-java/test/test_cli.rb +173 -0
  114. data/vendor/gems/puma-2.8.2-java/test/test_config.rb +26 -0
  115. data/vendor/gems/puma-2.8.2-java/test/test_http10.rb +27 -0
  116. data/vendor/gems/puma-2.8.2-java/test/test_http11.rb +144 -0
  117. data/vendor/gems/puma-2.8.2-java/test/test_integration.rb +165 -0
  118. data/vendor/gems/puma-2.8.2-java/test/test_iobuffer.rb +38 -0
  119. data/vendor/gems/puma-2.8.2-java/test/test_minissl.rb +25 -0
  120. data/vendor/gems/puma-2.8.2-java/test/test_null_io.rb +31 -0
  121. data/vendor/gems/puma-2.8.2-java/test/test_persistent.rb +238 -0
  122. data/vendor/gems/puma-2.8.2-java/test/test_puma_server.rb +323 -0
  123. data/vendor/gems/puma-2.8.2-java/test/test_rack_handler.rb +10 -0
  124. data/vendor/gems/puma-2.8.2-java/test/test_rack_server.rb +141 -0
  125. data/vendor/gems/puma-2.8.2-java/test/test_tcp_rack.rb +42 -0
  126. data/vendor/gems/puma-2.8.2-java/test/test_thread_pool.rb +156 -0
  127. data/vendor/gems/puma-2.8.2-java/test/test_unix_socket.rb +39 -0
  128. data/vendor/gems/puma-2.8.2-java/test/test_ws.rb +89 -0
  129. data/vendor/gems/puma-2.8.2-java/tools/jungle/README.md +9 -0
  130. data/vendor/gems/puma-2.8.2-java/tools/jungle/init.d/README.md +54 -0
  131. data/vendor/gems/puma-2.8.2-java/tools/jungle/init.d/puma +332 -0
  132. data/vendor/gems/puma-2.8.2-java/tools/jungle/init.d/run-puma +3 -0
  133. data/vendor/gems/puma-2.8.2-java/tools/jungle/upstart/README.md +61 -0
  134. data/vendor/gems/puma-2.8.2-java/tools/jungle/upstart/puma-manager.conf +31 -0
  135. data/vendor/gems/puma-2.8.2-java/tools/jungle/upstart/puma.conf +63 -0
  136. data/vendor/gems/puma-2.8.2-java/tools/trickletest.rb +45 -0
  137. metadata +389 -0
@@ -0,0 +1,532 @@
1
+ === 2.8.2 / 2014-04-12
2
+
3
+ * 4 bug fixes:
4
+ * During upgrade, change directory in main process instead of workers.
5
+ * Close the client properly on error
6
+ * Capistrano: fallback from phased restart to start when not started
7
+ * Allow tag option in conf file
8
+
9
+ * 4 doc fixes:
10
+ * Fix Puma daemon service README typo
11
+ * `preload_app!` instead of `preload_app`
12
+ * add preload_app and prune_bundler to example config
13
+ * allow changing of worker_timeout in config file
14
+
15
+ * 11 PRs merged:
16
+ * Merge pull request #487 from ckuttruff/master
17
+ * Merge pull request #492 from ckuttruff/master
18
+ * Merge pull request #493 from alepore/config_tag
19
+ * Merge pull request #503 from mariuz/patch-1
20
+ * Merge pull request #505 from sammcj/patch-1
21
+ * Merge pull request #506 from FlavourSys/config_worker_timeout
22
+ * Merge pull request #510 from momer/rescue-block-handle-servers-fix
23
+ * Merge pull request #511 from macool/patch-1
24
+ * Merge pull request #514 from edogawaconan/refactor_env
25
+ * Merge pull request #517 from misfo/patch-1
26
+ * Merge pull request #518 from LongMan/master
27
+
28
+ === 2.8.1 / 2014-03-06
29
+
30
+ * 1 bug fixes:
31
+ * Run puma-wild with proper deps for prune_bundler
32
+
33
+ * 2 doc changes:
34
+ * Described the configuration file finding behavior added in 2.8.0 and how to disable it.
35
+ * Start the deployment doc
36
+
37
+ * 6 PRs merged:
38
+ * Merge pull request #471 from arthurnn/fix_test
39
+ * Merge pull request #485 from joneslee85/patch-9
40
+ * Merge pull request #486 from joshwlewis/patch-1
41
+ * Merge pull request #490 from tobinibot/patch-1
42
+ * Merge pull request #491 from brianknight10/clarify-no-config
43
+
44
+ === 2.8.0 / 2014-02-28
45
+
46
+ * 8 minor features:
47
+ * Add ability to autoload a config file. Fixes #438
48
+ * Add ability to detect and terminate hung workers. Fixes #333
49
+ * Add booted_workers to stats response
50
+ * Add config to customize the default error message
51
+ * Add prune_bundler option
52
+ * Add worker indexes, expose them via on_worker_boot. Fixes #440
53
+ * Add pretty process name
54
+ * Show the ruby version in use
55
+
56
+ * 7 bug fixes:
57
+ * Added 408 status on timeout.
58
+ * Be more hostile with sockets that write block. Fixes #449
59
+ * Expect at_exit to exclusively remove the pidfile. Fixes #444
60
+ * Expose latency and listen backlog via bind query. Fixes #370
61
+ * JRuby raises IOError if the socket is there. Fixes #377
62
+ * Process requests fairly. Fixes #406
63
+ * Rescue SystemCallError as well. Fixes #425
64
+
65
+ * 4 doc changes:
66
+ * Add 2.1.0 to the matrix
67
+ * Add Code Climate badge to README
68
+ * Create signals.md
69
+ * Set the license to BSD. Fixes #432
70
+
71
+ * 14 PRs merged:
72
+ * Merge pull request #428 from alexeyfrank/capistrano_default_hooks
73
+ * Merge pull request #429 from namusyaka/revert-const_defined
74
+ * Merge pull request #431 from mrb/master
75
+ * Merge pull request #433 from alepore/process-name
76
+ * Merge pull request #437 from ibrahima/master
77
+ * Merge pull request #446 from sudara/master
78
+ * Merge pull request #451 from pwiebe/status_408
79
+ * Merge pull request #453 from joevandyk/patch-1
80
+ * Merge pull request #470 from arthurnn/fix_458
81
+ * Merge pull request #472 from rubencaro/master
82
+ * Merge pull request #480 from jjb/docs-on-running-test-suite
83
+ * Merge pull request #481 from schneems/master
84
+ * Merge pull request #482 from prathamesh-sonpatki/signals-doc-cleanup
85
+ * Merge pull request #483 from YotpoLtd/master
86
+
87
+ === 2.7.1 / 2013-12-05
88
+
89
+ * 1 bug fix:
90
+
91
+ * Keep STDOUT/STDERR the right mode. Fixes #422
92
+
93
+ === 2.7.0 / 2013-12-03
94
+
95
+ * 1 minor feature:
96
+ * Adding TTIN and TTOU to increment/decrement workers
97
+
98
+ * N bug fixes:
99
+ * Always use our Process.daemon because it's not busted
100
+ * Add capistrano restart failback to start.
101
+ * Change position of `cd` so that rvm gemset is loaded
102
+ * Clarify some platform specifics
103
+ * Do not close the pipe sockets when retrying
104
+ * Fix String#byteslice for Ruby 1.9.1, 1.9.2
105
+ * Fix compatibility with 1.8.7.
106
+ * Handle IOError closed stream in IO.select
107
+ * Increase the max URI path length to 2048 chars from 1024 chars
108
+ * Upstart jungle use config/puma.rb instead
109
+
110
+ === 2.6.0 / 2013-09-13
111
+
112
+ * 2 minor features:
113
+ * Add support for event hooks
114
+ ** Add a hook for state transitions
115
+ * Add phased restart to capistrano recipe.
116
+
117
+ * 4 bug fixes:
118
+ * Convince workers to stop by SIGKILL after timeout
119
+ * Define RSTRING_NOT_MODIFIED for Rubinius performance
120
+ * Handle BrokenPipe, StandardError and IOError in fat_wrote and break out
121
+ * Return success status to the invoking environment
122
+
123
+ === 2.5.1 / 2013-08-13
124
+
125
+ * 2 bug fixes:
126
+
127
+ * Keep jruby daemon mode from retrying on a hot restart
128
+ * Extract version from const.rb in gemspec
129
+
130
+ === 2.5.0 / 2013-08-08
131
+
132
+ * 2 minor features:
133
+ * Allow configuring pumactl with config.rb
134
+ * make `pumactl restart` start puma if not running
135
+
136
+ * 6 bug fixes:
137
+ * Autodetect ruby managers and home directory in upstart script
138
+ * Convert header values to string before sending.
139
+ * Correctly report phased-restart availability
140
+ * Fix pidfile creation/deletion race on jruby daemonization
141
+ * Use integers when comparing thread counts
142
+ * Fix typo in using lopez express (raw tcp) mode
143
+
144
+ * 6 misc changes:
145
+ * Fix typo in phased-restart response
146
+ * Uncomment setuid/setgid by default in upstart
147
+ * Use Puma::Const::PUMA_VERSION in gemspec
148
+ * Update upstart comments to reflect new commandline
149
+ * Remove obsolete pumactl instructions; refer to pumactl for details
150
+ * Make Bundler used puma.gemspec version agnostic
151
+
152
+ === 2.4.1 / 2013-08-07
153
+
154
+ * 1 experimental feature:
155
+ * Support raw tcp servers (aka Lopez Express mode)
156
+
157
+ === 2.4.0 / 2013-07-22
158
+
159
+ * 5 minor features:
160
+ * Add PUMA_JRUBY_DAEMON_OPTS to get around agent starting twice
161
+ * Add ability to drain accept socket on shutdown
162
+ * Add port to DSL
163
+ * Adds support for using puma config file in capistrano deploys.
164
+ * Make phased_restart fallback to restart if not available
165
+
166
+ * 10 bug fixes:
167
+
168
+ * Be sure to only delete the pid in the master. Fixes #334
169
+ * Call out -C/--config flags
170
+ * Change parser symbol names to avoid clash. Fixes #179
171
+ * Convert thread pool sizes to integers
172
+ * Detect when the jruby daemon child doesn't start properly
173
+ * Fix typo in CLI help
174
+ * Improve the logging output when hijack is used. Fixes #332
175
+ * Remove unnecessary thread pool size conversions
176
+ * Setup :worker_boot as an Array. Fixes #317
177
+ * Use 127.0.0.1 as REMOTE_ADDR of unix client. Fixes #309
178
+
179
+
180
+ === 2.3.2 / 2013-07-08
181
+
182
+ * 1 bug fix:
183
+
184
+ * Move starting control server to after daemonization.
185
+
186
+ === 2.3.1 / 2013-07-06
187
+
188
+ * 2 bug fixes:
189
+
190
+ * Include the right files in the Manifest.
191
+ * Disable inheriting connections on restart on windows. Fixes #166
192
+
193
+ * 1 doc change:
194
+ * Better document some platform constraints
195
+
196
+ === 2.3.0 / 2013-07-05
197
+
198
+ * 1 major bug fix:
199
+
200
+ * Stabilize control server, add support in cluster mode
201
+
202
+ * 5 minor bug fixes:
203
+
204
+ * Add ability to cleanup stale unix sockets
205
+ * Check status data better. Fixes #292
206
+ * Convert raw IO errors to ConnectionError. Fixes #274
207
+ * Fix sending Content-Type and Content-Length for no body status. Fixes #304
208
+ * Pass state path through to `pumactl start`. Fixes #287
209
+
210
+ * 2 internal changes:
211
+
212
+ * Refactored modes into seperate classes that CLI uses
213
+ * Changed CLI to take an Events object instead of stdout/stderr (API change)
214
+
215
+ === 2.2.2 / 2013-07-02
216
+
217
+ * 1 bug fix:
218
+
219
+ * Fix restart_command in the config
220
+
221
+ === 2.2.1 / 2013-07-02
222
+
223
+ * 1 minor feature:
224
+
225
+ * Introduce preload flag
226
+
227
+ * 1 bug fix:
228
+
229
+ * Pass custom restart command in JRuby
230
+
231
+ === 2.2.0 / 2013-07-01
232
+
233
+ * 1 major feature:
234
+
235
+ * Add ability to preload rack app
236
+
237
+ * 2 minor bugfixes:
238
+
239
+ * Don't leak info when not in development. Fixes #256
240
+ * Load the app, then bind the ports
241
+
242
+ === 2.1.1 / 2013-06-20
243
+
244
+ * 2 minor bug fixes:
245
+
246
+ * Fix daemonization on jruby
247
+ * Load the application before daemonizing. Fixes #285
248
+
249
+ === 2.1.0 / 2013-06-18
250
+
251
+ * 3 minor features:
252
+ * Allow listening socket to be configured via Capistrano variable
253
+ * Output results from 'stat's command when using pumactl
254
+ * Support systemd socket activation
255
+
256
+ * 15 bug fixes:
257
+ * Deal with pipes closing while stopping. Fixes #270
258
+ * Error out early if there is no app configured
259
+ * Handle ConnectionError rather than the lowlevel exceptions
260
+ * tune with `-C` config file and `on_worker_boot`
261
+ * use `-w`
262
+ * Fixed some typos in upstart scripts
263
+ * Make sure to use bytesize instead of size (MiniSSL write)
264
+ * Fix an error in puma-manager.conf
265
+ * fix: stop leaking sockets on restart (affects ruby 1.9.3 or before)
266
+ * Ignore errors on the cross-thread pipe. Fixes #246
267
+ * Ignore errors while uncorking the socket (it might already be closed)
268
+ * Ignore the body on a HEAD request. Fixes #278
269
+ * Handle all engine data when possible. Fixes #251.
270
+ * Handle all read exceptions properly. Fixes #252
271
+ * Handle errors from the server better
272
+
273
+ * 3 doc changes:
274
+ * Add note about on_worker_boot hook
275
+ * Add some documentation for Clustered mode
276
+ * Added quotes to /etc/puma.conf
277
+
278
+ === 2.0.1 / 2013-04-30
279
+
280
+ * 1 bug fix:
281
+
282
+ * Fix not starting on JRuby properly
283
+
284
+ === 2.0.0 / 2013-04-29
285
+
286
+ RailsConf 2013 edition!
287
+
288
+ * 2 doc changes:
289
+ * Start with rackup -s Puma, NOT rackup -s puma.
290
+ * Minor doc fixes in the README.md, Capistrano section
291
+
292
+ * 2 bug fixes:
293
+ * Fix reading RACK_ENV properly. Fixes #234
294
+ * Make cap recipe handle tmp/sockets; fixes #228
295
+
296
+ * 3 minor changes:
297
+ * Fix capistrano recipe
298
+ * Fix stdout/stderr logs to sync outputs
299
+ * allow binding to IPv6 addresses
300
+
301
+ === 2.0.0.b7 / 2013-03-18
302
+
303
+ * 5 minor enhancements:
304
+
305
+ * Add -q option for :start
306
+ * Add -V, --version
307
+ * Add default Rack handler helper
308
+ * Upstart support
309
+ * Set worker directory from configuration file
310
+
311
+ * 12 bug fixes:
312
+
313
+ * Close the binder in the right place. Fixes #192
314
+ * Handle early term in workers. Fixes #206
315
+ * Make sure that the default port is 80 when the request doesn't include HTTP_X_FORWARDED_PROTO.
316
+ * Prevent Errno::EBADF errors on restart when running ruby 2.0
317
+ * Record the proper @master_pid
318
+ * Respect the header HTTP_X_FORWARDED_PROTO when the host doesn't include a port number.
319
+ * Retry EAGAIN/EWOULDBLOCK during syswrite
320
+ * Run exec properly to restart. Fixes #154
321
+ * Set Rack run_once to false
322
+ * Syncronize all access to @timeouts. Fixes #208
323
+ * Write out the state post-daemonize. Fixes #189
324
+ * Prevent crash when all workers are gone
325
+
326
+ === 2.0.0.b6 / 2013-02-06
327
+
328
+ * 2 minor enhancements:
329
+
330
+ * Add hook for running when a worker boots
331
+ * Advertise the Configuration object for apps to use.
332
+
333
+ * 1 bug fix:
334
+
335
+ * Change directory in working during upgrade. Fixes #185
336
+
337
+ === 2.0.0.b5 / 2013-02-05
338
+
339
+ * 2 major features:
340
+ * Add phased worker upgrade
341
+ * Add support for the rack hijack protocol
342
+
343
+ * 2 minor features:
344
+ * Add -R to specify the restart command
345
+ * Add config file option to specify the restart command
346
+
347
+ * 5 bug fixes:
348
+ * Cleanup pipes properly. Fixes #182
349
+ * Daemonize earlier so that we don't lose app threads. Fixes #183
350
+ * Drain the notification pipe. Fixes #176, thanks @cryo28
351
+ * Move write_pid to after we daemonize. Fixes #180
352
+ * Redirect IO properly and emit message for checkpointing
353
+
354
+ === 2.0.0.b4 / 2012-12-12
355
+
356
+ * 4 bug fixes:
357
+ * Properly check #syswrite's value for variable sized buffers. Fixes #170
358
+ * Shutdown status server properly
359
+ * Handle char vs byte and mixing syswrite with write properly
360
+ * made MiniSSL validate key/cert file existence
361
+
362
+ === 2.0.0.b3 / 2012-11-22
363
+
364
+ * 1 bug fix:
365
+ * Package right files in gem
366
+
367
+ === 2.0.0.b2 / 2012-11-18
368
+ * 5 minor feature:
369
+ * Now Puma is bundled with an capistrano recipe. Just require
370
+ 'puma/capistrano' in you deploy.rb
371
+ * Only inject CommonLogger in development mode
372
+ * Add -p option to pumactl
373
+ * Add ability to use pumactl to start a server
374
+ * Add options to daemonize puma
375
+
376
+ * 7 bug fixes:
377
+ * Reset the IOBuffer properly. Fixes #148
378
+ * Shutdown gracefully on JRuby with Ctrl-C
379
+ * Various methods to get newrelic to start. Fixes #128
380
+ * fixing syntax error at capistrano recipe
381
+ * Force ECONNRESET when read returns nil
382
+ * Be sure to empty the drain the todo before shutting down. Fixes #155
383
+ * allow for alternate locations for status app
384
+
385
+ === 2.0.0.b1 / 2012-09-11
386
+
387
+ * 1 major feature:
388
+ * Optional worker process mode (-w) to allow for process scaling in
389
+ addition to thread scaling
390
+
391
+ * 1 bug fix:
392
+ * Introduce Puma::MiniSSL to be able to properly control doing
393
+ nonblocking SSL
394
+
395
+ NOTE: SSL support in JRuby is not supported at present. Support will
396
+ be added back in a future date when a java Puma::MiniSSL is added.
397
+
398
+ === 1.6.3 / 2012-09-04
399
+
400
+ * 1 bug fix:
401
+ * Close sockets waiting in the reactor when a hot restart is performed
402
+ so that browsers reconnect on the next request
403
+
404
+ === 1.6.2 / 2012-08-27
405
+
406
+ * 1 bug fix:
407
+ * Rescue StandardError instead of IOError to handle SystemCallErrors
408
+ as well as other application exceptions inside the reactor.
409
+
410
+ === 1.6.1 / 2012-07-23
411
+
412
+ * 1 packaging bug fixed:
413
+ * Include missing files
414
+
415
+ === 1.6.0 / 2012-07-23
416
+
417
+ * 1 major bug fix:
418
+ * Prevent slow clients from starving the server by introducing a
419
+ dedicated IO reactor thread. Credit for reporting goes to @meh.
420
+
421
+ === 1.5.0 / 2012-07-19
422
+
423
+ * 7 contributers to this release:
424
+ * Christian Mayer
425
+ * Darío Javier Cravero
426
+ * Dirkjan Bussink
427
+ * Gianluca Padovani
428
+ * Santiago Pastorino
429
+ * Thibault Jouan
430
+ * tomykaira
431
+
432
+ * 6 bug fixes:
433
+ * Define RSTRING_NOT_MODIFIED for Rubinius
434
+ * Convert status to integer. Fixes #123
435
+ * Delete pidfile when stopping the server
436
+ * Allow compilation with -Werror=format-security option
437
+ * Fix wrong HTTP version for a HTTP/1.0 request
438
+ * Use String#bytesize instead of String#length
439
+
440
+ * 3 minor features:
441
+ * Added support for setting RACK_ENV via the CLI, config file, and rack app
442
+ * Allow Server#run to run sync. Fixes #111
443
+ * Puma can now run on windows
444
+
445
+ === 1.4.0 / 2012-06-04
446
+
447
+ * 1 bug fix:
448
+ * SCRIPT_NAME should be passed from env to allow mounting apps
449
+
450
+ * 1 experimental feature:
451
+ * Add puma.socket key for direct socket access
452
+
453
+ === 1.3.1 / 2012-05-15
454
+
455
+ * 2 bug fixes:
456
+ * use #bytesize instead of #length for Content-Length header
457
+ * Use StringIO properly. Fixes #98
458
+
459
+ === 1.3.0 / 2012-05-08
460
+
461
+ * 2 minor features:
462
+ * Return valid Rack responses (passes Lint) from status server
463
+ * Add -I option to specify $LOAD_PATH directories
464
+
465
+ * 4 bug fixes:
466
+ * Don't join the server thread inside the signal handle. Fixes #94
467
+ * Make NullIO#read mimic IO#read
468
+ * Only stop the status server if it's started. Fixes #84
469
+ * Set RACK_ENV early in cli also. Fixes #78
470
+
471
+ * 1 new contributer:
472
+ * Jesse Cooke
473
+
474
+ === 1.2.2 / 2012-04-28
475
+
476
+ * 4 bug fixes:
477
+
478
+ * Report a lowlevel error to stderr
479
+ * Set a fallback SERVER_NAME and SERVER_PORT
480
+ * Keep the encoding of the body correct. Fixes #79
481
+ * show error.to_s along with backtrace for low-level error
482
+
483
+ === 1.2.1 / 2012-04-11
484
+
485
+ 1 bug fix:
486
+
487
+ * Fix rack.url_scheme for SSL servers. Fixes #65
488
+
489
+ === 1.2.0 / 2012-04-11
490
+
491
+ 1 major feature:
492
+
493
+ * When possible, the internal restart does a "hot restart" meaning
494
+ the server sockets remains open, so no connections are lost.
495
+
496
+ 1 minor feature:
497
+
498
+ * More helpful fallback error message
499
+
500
+ 6 bug fixes:
501
+
502
+ * Pass the proper args to unknown_error. Fixes #54, #58
503
+ * Stop the control server before restarting. Fixes #61
504
+ * Fix reporting https only on a true SSL connection
505
+ * Set the default content type to 'text/plain'. Fixes #63
506
+ * Use REUSEADDR. Fixes #60
507
+ * Shutdown gracefull on SIGTERM. Fixes #53
508
+
509
+ 2 new contributers:
510
+
511
+ * Seamus Abshere
512
+ * Steve Richert
513
+
514
+ === 1.1.1 / 2012-03-30
515
+
516
+ 1 bugfix:
517
+
518
+ * Include puma/compat.rb in the gem (oops!)
519
+
520
+ === 1.1.0 / 2012-03-30
521
+
522
+ 1 bugfix:
523
+
524
+ * Make sure that the unix socket has the perms 0777 by default
525
+
526
+ 1 minor feature:
527
+
528
+ * Add umask param to the unix:// bind to set the umask
529
+
530
+ === 1.0.0 / 2012-03-29
531
+
532
+ * Released!
@@ -0,0 +1,26 @@
1
+ Some code copyright (c) 2005, Zed Shaw
2
+ Copyright (c) 2011, Evan Phoenix
3
+ All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ * Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+ * Redistributions in binary form must reproduce the above copyright notice
11
+ this list of conditions and the following disclaimer in the documentation
12
+ and/or other materials provided with the distribution.
13
+ * Neither the name of the Evan Phoenix nor the names of its contributors
14
+ may be used to endorse or promote products derived from this software
15
+ without specific prior written permission.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
21
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,68 @@
1
+ COPYING
2
+ DEPLOYMENT.md
3
+ Gemfile
4
+ History.txt
5
+ LICENSE
6
+ Manifest.txt
7
+ README.md
8
+ Rakefile
9
+ bin/puma
10
+ bin/puma-wild
11
+ bin/pumactl
12
+ docs/config.md
13
+ docs/nginx.md
14
+ docs/signals.md
15
+ ext/puma_http11/PumaHttp11Service.java
16
+ ext/puma_http11/ext_help.h
17
+ ext/puma_http11/extconf.rb
18
+ ext/puma_http11/http11_parser.c
19
+ ext/puma_http11/http11_parser.h
20
+ ext/puma_http11/http11_parser.java.rl
21
+ ext/puma_http11/http11_parser.rl
22
+ ext/puma_http11/http11_parser_common.rl
23
+ ext/puma_http11/io_buffer.c
24
+ ext/puma_http11/mini_ssl.c
25
+ ext/puma_http11/org/jruby/puma/Http11.java
26
+ ext/puma_http11/org/jruby/puma/Http11Parser.java
27
+ ext/puma_http11/org/jruby/puma/MiniSSL.java
28
+ ext/puma_http11/puma_http11.c
29
+ lib/puma.rb
30
+ lib/puma/accept_nonblock.rb
31
+ lib/puma/app/status.rb
32
+ lib/puma/binder.rb
33
+ lib/puma/capistrano.rb
34
+ lib/puma/cli.rb
35
+ lib/puma/client.rb
36
+ lib/puma/cluster.rb
37
+ lib/puma/compat.rb
38
+ lib/puma/configuration.rb
39
+ lib/puma/const.rb
40
+ lib/puma/control_cli.rb
41
+ lib/puma/daemon_ext.rb
42
+ lib/puma/delegation.rb
43
+ lib/puma/detect.rb
44
+ lib/puma/events.rb
45
+ lib/puma/io_buffer.rb
46
+ lib/puma/java_io_buffer.rb
47
+ lib/puma/jruby_restart.rb
48
+ lib/puma/minissl.rb
49
+ lib/puma/null_io.rb
50
+ lib/puma/rack_default.rb
51
+ lib/puma/rack_patch.rb
52
+ lib/puma/reactor.rb
53
+ lib/puma/runner.rb
54
+ lib/puma/server.rb
55
+ lib/puma/single.rb
56
+ lib/puma/tcp_logger.rb
57
+ lib/puma/thread_pool.rb
58
+ lib/puma/util.rb
59
+ lib/rack/handler/puma.rb
60
+ puma.gemspec
61
+ tools/jungle/README.md
62
+ tools/jungle/init.d/README.md
63
+ tools/jungle/init.d/puma
64
+ tools/jungle/init.d/run-puma
65
+ tools/jungle/upstart/README.md
66
+ tools/jungle/upstart/puma-manager.conf
67
+ tools/jungle/upstart/puma.conf
68
+ tools/trickletest.rb