rsense-server 0.5.0

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 (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