itsi 0.1.7 → 0.1.9

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 (249) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +21 -0
  3. data/crates/itsi_error/src/from.rs +26 -29
  4. data/crates/itsi_server/Cargo.lock +2956 -0
  5. data/crates/itsi_server/Cargo.toml +1 -1
  6. data/crates/itsi_server/src/lib.rs +5 -0
  7. data/crates/itsi_server/src/request/itsi_request.rs +37 -9
  8. data/crates/itsi_server/src/response/itsi_response.rs +12 -2
  9. data/crates/itsi_server/src/server/bind.rs +4 -3
  10. data/crates/itsi_server/src/server/itsi_server.rs +128 -78
  11. data/crates/itsi_server/src/server/listener.rs +98 -107
  12. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +40 -24
  13. data/crates/itsi_server/src/server/signal.rs +7 -0
  14. data/crates/itsi_server/src/server/thread_worker.rs +3 -4
  15. data/crates/itsi_server/src/server/tls.rs +20 -13
  16. data/crates/itsi_tracing/src/lib.rs +18 -1
  17. data/gems/scheduler/Cargo.lock +12 -12
  18. data/gems/scheduler/ext/itsi_error/src/from.rs +26 -29
  19. data/gems/scheduler/ext/itsi_server/Cargo.lock +2956 -0
  20. data/gems/scheduler/ext/itsi_server/Cargo.toml +1 -1
  21. data/gems/scheduler/ext/itsi_server/src/lib.rs +5 -0
  22. data/gems/scheduler/ext/itsi_server/src/request/itsi_request.rs +37 -9
  23. data/gems/scheduler/ext/itsi_server/src/response/itsi_response.rs +12 -2
  24. data/gems/scheduler/ext/itsi_server/src/server/bind.rs +4 -3
  25. data/gems/scheduler/ext/itsi_server/src/server/itsi_server.rs +128 -78
  26. data/gems/scheduler/ext/itsi_server/src/server/listener.rs +98 -107
  27. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/single_mode.rs +40 -24
  28. data/gems/scheduler/ext/itsi_server/src/server/signal.rs +7 -0
  29. data/gems/scheduler/ext/itsi_server/src/server/thread_worker.rs +3 -4
  30. data/gems/scheduler/ext/itsi_server/src/server/tls.rs +20 -13
  31. data/gems/scheduler/ext/itsi_tracing/src/lib.rs +18 -1
  32. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  33. data/gems/scheduler/test/test_address_resolve.rb +0 -1
  34. data/gems/scheduler/test/test_file_io.rb +0 -1
  35. data/gems/scheduler/test/test_kernel_sleep.rb +3 -4
  36. data/gems/server/Cargo.lock +2917 -0
  37. data/gems/server/Cargo.toml +7 -0
  38. data/gems/server/Rakefile +8 -1
  39. data/gems/server/ext/itsi_error/src/from.rs +26 -29
  40. data/gems/server/ext/itsi_server/Cargo.lock +2956 -0
  41. data/gems/server/ext/itsi_server/Cargo.toml +1 -1
  42. data/gems/server/ext/itsi_server/src/lib.rs +5 -0
  43. data/gems/server/ext/itsi_server/src/request/itsi_request.rs +37 -9
  44. data/gems/server/ext/itsi_server/src/response/itsi_response.rs +12 -2
  45. data/gems/server/ext/itsi_server/src/server/bind.rs +4 -3
  46. data/gems/server/ext/itsi_server/src/server/itsi_server.rs +128 -78
  47. data/gems/server/ext/itsi_server/src/server/listener.rs +98 -107
  48. data/gems/server/ext/itsi_server/src/server/serve_strategy/single_mode.rs +40 -24
  49. data/gems/server/ext/itsi_server/src/server/signal.rs +7 -0
  50. data/gems/server/ext/itsi_server/src/server/thread_worker.rs +3 -4
  51. data/gems/server/ext/itsi_server/src/server/tls.rs +20 -13
  52. data/gems/server/ext/itsi_tracing/src/lib.rs +18 -1
  53. data/gems/server/lib/itsi/index.html +91 -0
  54. data/gems/server/lib/itsi/request.rb +29 -21
  55. data/gems/server/lib/itsi/server/rack/handler/itsi.rb +3 -4
  56. data/gems/server/lib/itsi/server/rack_interface.rb +79 -0
  57. data/gems/server/lib/itsi/server/scheduler_interface.rb +21 -0
  58. data/gems/server/lib/itsi/server/scheduler_mode.rb +1 -1
  59. data/gems/server/lib/itsi/server/signal_trap.rb +24 -0
  60. data/gems/server/lib/itsi/server/version.rb +1 -1
  61. data/gems/server/lib/itsi/server.rb +68 -82
  62. data/gems/server/test/helpers/test_helper.rb +28 -0
  63. data/gems/server/test/test_itsi_server.rb +275 -3
  64. data/lib/itsi/version.rb +1 -1
  65. data/sandbox/deploy/main.tf +238 -0
  66. data/sandbox/deploy/outputs.tf +4 -0
  67. data/sandbox/deploy/vars.tf +11 -0
  68. data/sandbox/falcon_benchmark/Gemfile +10 -0
  69. data/sandbox/falcon_benchmark/Gemfile.lock +140 -0
  70. data/sandbox/falcon_benchmark/config.ru +54 -0
  71. data/sandbox/itsi_sandbox_async/Gemfile +10 -0
  72. data/sandbox/itsi_sandbox_async/Gemfile.lock +69 -0
  73. data/sandbox/itsi_sandbox_async/config.ru +10 -0
  74. data/sandbox/itsi_sandbox_hanami/.env +2 -0
  75. data/sandbox/itsi_sandbox_hanami/.gitignore +6 -0
  76. data/sandbox/itsi_sandbox_hanami/.rspec +1 -0
  77. data/sandbox/itsi_sandbox_hanami/Gemfile +49 -0
  78. data/sandbox/itsi_sandbox_hanami/Gemfile.lock +440 -0
  79. data/sandbox/itsi_sandbox_hanami/Guardfile +9 -0
  80. data/sandbox/itsi_sandbox_hanami/Procfile.dev +2 -0
  81. data/sandbox/itsi_sandbox_hanami/README.md +1 -0
  82. data/sandbox/itsi_sandbox_hanami/Rakefile +3 -0
  83. data/sandbox/itsi_sandbox_hanami/app/action.rb +12 -0
  84. data/sandbox/itsi_sandbox_hanami/app/actions/.keep +0 -0
  85. data/sandbox/itsi_sandbox_hanami/app/assets/css/app.css +5 -0
  86. data/sandbox/itsi_sandbox_hanami/app/assets/images/favicon.ico +0 -0
  87. data/sandbox/itsi_sandbox_hanami/app/assets/js/app.js +1 -0
  88. data/sandbox/itsi_sandbox_hanami/app/db/relation.rb +10 -0
  89. data/sandbox/itsi_sandbox_hanami/app/db/repo.rb +10 -0
  90. data/sandbox/itsi_sandbox_hanami/app/db/struct.rb +10 -0
  91. data/sandbox/itsi_sandbox_hanami/app/operation.rb +9 -0
  92. data/sandbox/itsi_sandbox_hanami/app/relations/.keep +0 -0
  93. data/sandbox/itsi_sandbox_hanami/app/repos/.keep +0 -0
  94. data/sandbox/itsi_sandbox_hanami/app/structs/.keep +0 -0
  95. data/sandbox/itsi_sandbox_hanami/app/templates/layouts/app.html.erb +14 -0
  96. data/sandbox/itsi_sandbox_hanami/app/view.rb +9 -0
  97. data/sandbox/itsi_sandbox_hanami/app/views/helpers.rb +10 -0
  98. data/sandbox/itsi_sandbox_hanami/bin/dev +8 -0
  99. data/sandbox/itsi_sandbox_hanami/config/app.rb +8 -0
  100. data/sandbox/itsi_sandbox_hanami/config/assets.js +16 -0
  101. data/sandbox/itsi_sandbox_hanami/config/db/migrate/.keep +0 -0
  102. data/sandbox/itsi_sandbox_hanami/config/db/seeds.rb +15 -0
  103. data/sandbox/itsi_sandbox_hanami/config/puma.rb +47 -0
  104. data/sandbox/itsi_sandbox_hanami/config/routes.rb +7 -0
  105. data/sandbox/itsi_sandbox_hanami/config/settings.rb +9 -0
  106. data/sandbox/itsi_sandbox_hanami/config.ru +5 -0
  107. data/sandbox/itsi_sandbox_hanami/db/.keep +0 -0
  108. data/sandbox/itsi_sandbox_hanami/lib/itsi_hanami/types.rb +11 -0
  109. data/sandbox/itsi_sandbox_hanami/lib/tasks/.keep +0 -0
  110. data/sandbox/itsi_sandbox_hanami/package-lock.json +946 -0
  111. data/sandbox/itsi_sandbox_hanami/package.json +8 -0
  112. data/sandbox/itsi_sandbox_hanami/spec/requests/root_spec.rb +11 -0
  113. data/sandbox/itsi_sandbox_hanami/spec/spec_helper.rb +9 -0
  114. data/sandbox/itsi_sandbox_hanami/spec/support/db/cleaning.rb +42 -0
  115. data/sandbox/itsi_sandbox_hanami/spec/support/db.rb +10 -0
  116. data/sandbox/itsi_sandbox_hanami/spec/support/features.rb +5 -0
  117. data/sandbox/itsi_sandbox_hanami/spec/support/operations.rb +8 -0
  118. data/sandbox/itsi_sandbox_hanami/spec/support/requests.rb +13 -0
  119. data/sandbox/itsi_sandbox_hanami/spec/support/rspec.rb +61 -0
  120. data/sandbox/itsi_sandbox_rack/Gemfile +17 -0
  121. data/sandbox/itsi_sandbox_rack/Gemfile.lock +153 -0
  122. data/sandbox/itsi_sandbox_rack/config.ru +18 -0
  123. data/sandbox/itsi_sandbox_rack_lint/Gemfile +7 -0
  124. data/sandbox/itsi_sandbox_rack_lint/Gemfile.lock +27 -0
  125. data/sandbox/itsi_sandbox_rack_lint/config.ru +3 -0
  126. data/sandbox/itsi_sandbox_rails/.dockerignore +51 -0
  127. data/sandbox/itsi_sandbox_rails/.gitattributes +9 -0
  128. data/sandbox/itsi_sandbox_rails/.github/dependabot.yml +12 -0
  129. data/sandbox/itsi_sandbox_rails/.github/workflows/ci.yml +90 -0
  130. data/sandbox/itsi_sandbox_rails/.gitignore +34 -0
  131. data/sandbox/itsi_sandbox_rails/.kamal/hooks/docker-setup.sample +3 -0
  132. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-app-boot.sample +3 -0
  133. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-deploy.sample +14 -0
  134. data/sandbox/itsi_sandbox_rails/.kamal/hooks/post-proxy-reboot.sample +3 -0
  135. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-app-boot.sample +3 -0
  136. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-build.sample +51 -0
  137. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-connect.sample +47 -0
  138. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-deploy.sample +109 -0
  139. data/sandbox/itsi_sandbox_rails/.kamal/hooks/pre-proxy-reboot.sample +3 -0
  140. data/sandbox/itsi_sandbox_rails/.kamal/secrets +17 -0
  141. data/sandbox/itsi_sandbox_rails/.rubocop.yml +8 -0
  142. data/sandbox/itsi_sandbox_rails/.ruby-version +1 -0
  143. data/sandbox/itsi_sandbox_rails/Dockerfile +72 -0
  144. data/sandbox/itsi_sandbox_rails/Gemfile +72 -0
  145. data/sandbox/itsi_sandbox_rails/Gemfile.lock +480 -0
  146. data/sandbox/itsi_sandbox_rails/README.md +24 -0
  147. data/sandbox/itsi_sandbox_rails/Rakefile +6 -0
  148. data/sandbox/itsi_sandbox_rails/app/assets/images/.keep +0 -0
  149. data/sandbox/itsi_sandbox_rails/app/assets/stylesheets/application.css +10 -0
  150. data/sandbox/itsi_sandbox_rails/app/controllers/application_controller.rb +4 -0
  151. data/sandbox/itsi_sandbox_rails/app/controllers/concerns/.keep +0 -0
  152. data/sandbox/itsi_sandbox_rails/app/controllers/home_controller.rb +51 -0
  153. data/sandbox/itsi_sandbox_rails/app/controllers/live_controller.rb +41 -0
  154. data/sandbox/itsi_sandbox_rails/app/controllers/uploads_controller.rb +32 -0
  155. data/sandbox/itsi_sandbox_rails/app/helpers/application_helper.rb +2 -0
  156. data/sandbox/itsi_sandbox_rails/app/javascript/application.js +3 -0
  157. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/application.js +9 -0
  158. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/hello_controller.js +7 -0
  159. data/sandbox/itsi_sandbox_rails/app/javascript/controllers/index.js +4 -0
  160. data/sandbox/itsi_sandbox_rails/app/jobs/application_job.rb +7 -0
  161. data/sandbox/itsi_sandbox_rails/app/mailers/application_mailer.rb +4 -0
  162. data/sandbox/itsi_sandbox_rails/app/models/application_record.rb +3 -0
  163. data/sandbox/itsi_sandbox_rails/app/models/concerns/.keep +0 -0
  164. data/sandbox/itsi_sandbox_rails/app/models/post.rb +2 -0
  165. data/sandbox/itsi_sandbox_rails/app/views/layouts/application.html.erb +28 -0
  166. data/sandbox/itsi_sandbox_rails/app/views/layouts/mailer.html.erb +13 -0
  167. data/sandbox/itsi_sandbox_rails/app/views/layouts/mailer.text.erb +1 -0
  168. data/sandbox/itsi_sandbox_rails/app/views/pwa/manifest.json.erb +22 -0
  169. data/sandbox/itsi_sandbox_rails/app/views/pwa/service-worker.js +26 -0
  170. data/sandbox/itsi_sandbox_rails/bin/brakeman +7 -0
  171. data/sandbox/itsi_sandbox_rails/bin/bundle +109 -0
  172. data/sandbox/itsi_sandbox_rails/bin/dev +2 -0
  173. data/sandbox/itsi_sandbox_rails/bin/docker-entrypoint +14 -0
  174. data/sandbox/itsi_sandbox_rails/bin/importmap +4 -0
  175. data/sandbox/itsi_sandbox_rails/bin/jobs +6 -0
  176. data/sandbox/itsi_sandbox_rails/bin/kamal +27 -0
  177. data/sandbox/itsi_sandbox_rails/bin/rails +4 -0
  178. data/sandbox/itsi_sandbox_rails/bin/rake +4 -0
  179. data/sandbox/itsi_sandbox_rails/bin/rubocop +8 -0
  180. data/sandbox/itsi_sandbox_rails/bin/setup +34 -0
  181. data/sandbox/itsi_sandbox_rails/bin/thrust +5 -0
  182. data/sandbox/itsi_sandbox_rails/config/application.rb +61 -0
  183. data/sandbox/itsi_sandbox_rails/config/boot.rb +4 -0
  184. data/sandbox/itsi_sandbox_rails/config/cable.yml +17 -0
  185. data/sandbox/itsi_sandbox_rails/config/cache.yml +16 -0
  186. data/sandbox/itsi_sandbox_rails/config/credentials.yml.enc +1 -0
  187. data/sandbox/itsi_sandbox_rails/config/database.yml +40 -0
  188. data/sandbox/itsi_sandbox_rails/config/deploy.yml +116 -0
  189. data/sandbox/itsi_sandbox_rails/config/environment.rb +5 -0
  190. data/sandbox/itsi_sandbox_rails/config/environments/development.rb +72 -0
  191. data/sandbox/itsi_sandbox_rails/config/environments/production.rb +90 -0
  192. data/sandbox/itsi_sandbox_rails/config/environments/test.rb +53 -0
  193. data/sandbox/itsi_sandbox_rails/config/importmap.rb +7 -0
  194. data/sandbox/itsi_sandbox_rails/config/initializers/assets.rb +7 -0
  195. data/sandbox/itsi_sandbox_rails/config/initializers/content_security_policy.rb +25 -0
  196. data/sandbox/itsi_sandbox_rails/config/initializers/filter_parameter_logging.rb +8 -0
  197. data/sandbox/itsi_sandbox_rails/config/initializers/inflections.rb +16 -0
  198. data/sandbox/itsi_sandbox_rails/config/locales/en.yml +31 -0
  199. data/sandbox/itsi_sandbox_rails/config/puma.rb +41 -0
  200. data/sandbox/itsi_sandbox_rails/config/queue.yml +18 -0
  201. data/sandbox/itsi_sandbox_rails/config/recurring.yml +10 -0
  202. data/sandbox/itsi_sandbox_rails/config/routes.rb +21 -0
  203. data/sandbox/itsi_sandbox_rails/config/storage.yml +34 -0
  204. data/sandbox/itsi_sandbox_rails/config.ru +7 -0
  205. data/sandbox/itsi_sandbox_rails/db/cable_schema.rb +11 -0
  206. data/sandbox/itsi_sandbox_rails/db/cache_schema.rb +14 -0
  207. data/sandbox/itsi_sandbox_rails/db/migrate/20250301041554_create_posts.rb +10 -0
  208. data/sandbox/itsi_sandbox_rails/db/queue_schema.rb +129 -0
  209. data/sandbox/itsi_sandbox_rails/db/schema.rb +23 -0
  210. data/sandbox/itsi_sandbox_rails/db/seeds.rb +9 -0
  211. data/sandbox/itsi_sandbox_rails/lib/tasks/.keep +0 -0
  212. data/sandbox/itsi_sandbox_rails/log/.keep +0 -0
  213. data/sandbox/itsi_sandbox_rails/public/400.html +114 -0
  214. data/sandbox/itsi_sandbox_rails/public/404.html +114 -0
  215. data/sandbox/itsi_sandbox_rails/public/406-unsupported-browser.html +114 -0
  216. data/sandbox/itsi_sandbox_rails/public/422.html +114 -0
  217. data/sandbox/itsi_sandbox_rails/public/500.html +114 -0
  218. data/sandbox/itsi_sandbox_rails/public/icon.png +0 -0
  219. data/sandbox/itsi_sandbox_rails/public/icon.svg +3 -0
  220. data/sandbox/itsi_sandbox_rails/public/robots.txt +1 -0
  221. data/sandbox/itsi_sandbox_rails/script/.keep +0 -0
  222. data/sandbox/itsi_sandbox_rails/storage/.keep +0 -0
  223. data/sandbox/itsi_sandbox_rails/test/application_system_test_case.rb +5 -0
  224. data/sandbox/itsi_sandbox_rails/test/controllers/.keep +0 -0
  225. data/sandbox/itsi_sandbox_rails/test/fixtures/files/.keep +0 -0
  226. data/sandbox/itsi_sandbox_rails/test/fixtures/posts.yml +9 -0
  227. data/sandbox/itsi_sandbox_rails/test/helpers/.keep +0 -0
  228. data/sandbox/itsi_sandbox_rails/test/integration/.keep +0 -0
  229. data/sandbox/itsi_sandbox_rails/test/mailers/.keep +0 -0
  230. data/sandbox/itsi_sandbox_rails/test/models/.keep +0 -0
  231. data/sandbox/itsi_sandbox_rails/test/models/post_test.rb +7 -0
  232. data/sandbox/itsi_sandbox_rails/test/system/.keep +0 -0
  233. data/sandbox/itsi_sandbox_rails/test/test_helper.rb +15 -0
  234. data/sandbox/itsi_sandbox_rails/tmp/.keep +0 -0
  235. data/sandbox/itsi_sandbox_rails/tmp/pids/.keep +0 -0
  236. data/sandbox/itsi_sandbox_rails/tmp/storage/.keep +0 -0
  237. data/sandbox/itsi_sandbox_rails/vendor/.keep +0 -0
  238. data/sandbox/itsi_sandbox_rails/vendor/javascript/.keep +0 -0
  239. data/sandbox/itsi_sandbox_roda/Gemfile +5 -0
  240. data/sandbox/itsi_sandbox_roda/Gemfile.lock +44 -0
  241. data/sandbox/itsi_sandbox_roda/config.ru +39 -0
  242. data/sandbox/itsi_sinatra/Gemfile +9 -0
  243. data/sandbox/itsi_sinatra/Gemfile.lock +81 -0
  244. data/sandbox/itsi_sinatra/app.rb +9 -0
  245. data/sandbox/pebble/docker-compose.yml +11 -0
  246. data/tasks.txt +4 -4
  247. metadata +199 -10
  248. data/gems/server/lib/itsi/signals.rb +0 -23
  249. data/gems/server/test/test_helper.rb +0 -7
@@ -0,0 +1,15 @@
1
+ ENV["RAILS_ENV"] ||= "test"
2
+ require_relative "../config/environment"
3
+ require "rails/test_help"
4
+
5
+ module ActiveSupport
6
+ class TestCase
7
+ # Run tests in parallel with specified workers
8
+ parallelize(workers: :number_of_processors)
9
+
10
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
11
+ fixtures :all
12
+
13
+ # Add more helper methods to be used by all tests here...
14
+ end
15
+ end
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "roda"
4
+ gem "itsi-server", path: "../../gems/server"
5
+ gem "itsi-scheduler", path: "../../gems/scheduler"
@@ -0,0 +1,44 @@
1
+ PATH
2
+ remote: ../../gems/scheduler
3
+ specs:
4
+ itsi-scheduler (0.1.0)
5
+ libclang (~> 14.0)
6
+ rb_sys (~> 0.9.91)
7
+
8
+ PATH
9
+ remote: ../../gems/server
10
+ specs:
11
+ itsi-server (0.1.1)
12
+ libclang (~> 14.0)
13
+ rack (~> 2.2)
14
+ rb_sys (~> 0.9.91)
15
+
16
+ GEM
17
+ remote: https://rubygems.org/
18
+ specs:
19
+ libclang (14.0.6-aarch64-linux)
20
+ libclang (14.0.6-arm64-darwin)
21
+ libclang (14.0.6-x86_64-darwin)
22
+ libclang (14.0.6-x86_64-linux)
23
+ libclang (14.0.6-x86_64-linux-musl)
24
+ rack (2.2.13)
25
+ rake-compiler-dock (1.9.1)
26
+ rb_sys (0.9.111)
27
+ rake-compiler-dock (= 1.9.1)
28
+ roda (3.90.0)
29
+ rack
30
+
31
+ PLATFORMS
32
+ aarch64-linux
33
+ arm64-darwin
34
+ x86_64-darwin
35
+ x86_64-linux
36
+ x86_64-linux-musl
37
+
38
+ DEPENDENCIES
39
+ itsi-scheduler!
40
+ itsi-server!
41
+ roda
42
+
43
+ BUNDLED WITH
44
+ 2.6.3
@@ -0,0 +1,39 @@
1
+ # cat config.ru
2
+ require "roda"
3
+ require 'itsi/scheduler'
4
+ require 'itsi/server'
5
+ class App < Roda
6
+ route do |r|
7
+ # GET / request
8
+ r.root do
9
+ r.redirect "/hello"
10
+ end
11
+
12
+ # /hello branch
13
+ r.on "hello" do
14
+ # Set variable for all routes in /hello branch
15
+ @greeting = 'Hello'
16
+
17
+ # GET /hello/world request
18
+ r.get "world" do
19
+ "#{@greeting} world!"
20
+ end
21
+
22
+ # /hello request
23
+ r.is do
24
+ # GET /hello request
25
+ r.get do
26
+ "#{@greeting}!"
27
+ end
28
+
29
+ # POST /hello request
30
+ r.post do
31
+ puts "Someone said #{@greeting}!"
32
+ r.redirect
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ run App.freeze.app
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "itsi-server", path: "../../gems/server"
4
+ gem "itsi-scheduler", path: "../../gems/scheduler"
5
+
6
+ gem 'rackup'
7
+ gem 'sinatra'
8
+
9
+ gem 'debug'
@@ -0,0 +1,81 @@
1
+ PATH
2
+ remote: ../../gems/scheduler
3
+ specs:
4
+ itsi-scheduler (0.1.0)
5
+ libclang (~> 14.0)
6
+ rb_sys (~> 0.9.91)
7
+
8
+ PATH
9
+ remote: ../../gems/server
10
+ specs:
11
+ itsi-server (0.1.1)
12
+ libclang (~> 14.0)
13
+ rack (~> 2.2)
14
+ rb_sys (~> 0.9.91)
15
+
16
+ GEM
17
+ remote: https://rubygems.org/
18
+ specs:
19
+ base64 (0.2.0)
20
+ date (3.4.1)
21
+ debug (1.10.0)
22
+ irb (~> 1.10)
23
+ reline (>= 0.3.8)
24
+ io-console (0.8.0)
25
+ irb (1.15.1)
26
+ pp (>= 0.6.0)
27
+ rdoc (>= 4.0.0)
28
+ reline (>= 0.4.2)
29
+ libclang (14.0.6-aarch64-linux)
30
+ libclang (14.0.6-arm64-darwin)
31
+ libclang (14.0.6-x86_64-darwin)
32
+ libclang (14.0.6-x86_64-linux)
33
+ libclang (14.0.6-x86_64-linux-musl)
34
+ mustermann (3.0.3)
35
+ ruby2_keywords (~> 0.0.1)
36
+ pp (0.6.2)
37
+ prettyprint
38
+ prettyprint (0.2.0)
39
+ psych (5.2.3)
40
+ date
41
+ stringio
42
+ rack (2.2.13)
43
+ rack-protection (3.2.0)
44
+ base64 (>= 0.1.0)
45
+ rack (~> 2.2, >= 2.2.4)
46
+ rackup (1.0.1)
47
+ rack (< 3)
48
+ webrick
49
+ rake-compiler-dock (1.9.1)
50
+ rb_sys (0.9.111)
51
+ rake-compiler-dock (= 1.9.1)
52
+ rdoc (6.12.0)
53
+ psych (>= 4.0.0)
54
+ reline (0.6.0)
55
+ io-console (~> 0.5)
56
+ ruby2_keywords (0.0.5)
57
+ sinatra (3.2.0)
58
+ mustermann (~> 3.0)
59
+ rack (~> 2.2, >= 2.2.4)
60
+ rack-protection (= 3.2.0)
61
+ tilt (~> 2.0)
62
+ stringio (3.1.5)
63
+ tilt (2.6.0)
64
+ webrick (1.9.1)
65
+
66
+ PLATFORMS
67
+ aarch64-linux
68
+ arm64-darwin
69
+ x86_64-darwin
70
+ x86_64-linux
71
+ x86_64-linux-musl
72
+
73
+ DEPENDENCIES
74
+ debug
75
+ itsi-scheduler!
76
+ itsi-server!
77
+ rackup
78
+ sinatra
79
+
80
+ BUNDLED WITH
81
+ 2.6.3
@@ -0,0 +1,9 @@
1
+ require 'debug'
2
+ require 'sinatra'
3
+ require 'itsi/server'
4
+
5
+ set :server, "itsi"
6
+
7
+ get '/' do
8
+ 'Hello world!'
9
+ end
@@ -0,0 +1,11 @@
1
+ version: "3"
2
+ services:
3
+ pebble:
4
+ image: letsencrypt/pebble
5
+ platform: linux/amd64
6
+
7
+ ports:
8
+ - "14000:14000" # ACME directory endpoint
9
+ - "15000:15000" # ACME validator (optional, for advanced setups)
10
+ environment:
11
+ - PEBBLE_VA_ALWAYS_VALID=true
data/tasks.txt CHANGED
@@ -2,15 +2,15 @@
2
2
  - Filters (Medium)
3
3
  - Static File Serve (Medium).error pages
4
4
  - Preload Groups
5
- - Signal to log info
5
+ - Support a Signal for logging live server info
6
6
  - Dashboard
7
+ - Auto-redirect? Or auto HTTP?
7
8
 
8
9
  - Polish and Release (At Lake)
9
10
  -- Log params (Think long and hard about what we should and shouldn't log)
10
- -- Parameterize EVERYTHING (OOB GC, and others)
11
+ -- Parameterize EVERYTHING (OOB GC - Make sure this works for non fiber mode, and others)
11
12
  -- No unwrap or except
12
- -- Switch to direct scheduler integration
13
- -- Fix Scheduler Hanging test (Or remove it)
13
+ -- Add notes on: PGGSSENCMODE="disable"
14
14
 
15
15
  Later:
16
16
  - Broken shutdown (sometimes) in Fiber mode
metadata CHANGED
@@ -1,42 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-15 00:00:00.000000000 Z
10
+ date: 2025-03-16 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: itsi-server
13
+ name: itsi-scheduler
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.1.7
18
+ version: 0.1.9
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.1.7
25
+ version: 0.1.9
26
26
  - !ruby/object:Gem::Dependency
27
- name: itsi-scheduler
27
+ name: itsi-server
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.1.7
32
+ version: 0.1.9
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.7
39
+ version: 0.1.9
40
40
  description: Wrapper Gem for both the Itsi server and it's Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz
@@ -65,6 +65,7 @@ files:
65
65
  - crates/itsi_scheduler/src/itsi_scheduler/io_waiter.rs
66
66
  - crates/itsi_scheduler/src/itsi_scheduler/timer.rs
67
67
  - crates/itsi_scheduler/src/lib.rs
68
+ - crates/itsi_server/Cargo.lock
68
69
  - crates/itsi_server/Cargo.toml
69
70
  - crates/itsi_server/extconf.rb
70
71
  - crates/itsi_server/src/body_proxy/big_bytes.rs
@@ -122,6 +123,7 @@ files:
122
123
  - gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs
123
124
  - gems/scheduler/ext/itsi_scheduler/src/itsi_scheduler/timer.rs
124
125
  - gems/scheduler/ext/itsi_scheduler/src/lib.rs
126
+ - gems/scheduler/ext/itsi_server/Cargo.lock
125
127
  - gems/scheduler/ext/itsi_server/Cargo.toml
126
128
  - gems/scheduler/ext/itsi_server/extconf.rb
127
129
  - gems/scheduler/ext/itsi_server/src/body_proxy/big_bytes.rs
@@ -169,6 +171,8 @@ files:
169
171
  - gems/server/.rubocop.yml
170
172
  - gems/server/CHANGELOG.md
171
173
  - gems/server/CODE_OF_CONDUCT.md
174
+ - gems/server/Cargo.lock
175
+ - gems/server/Cargo.toml
172
176
  - gems/server/LICENSE.txt
173
177
  - gems/server/README.md
174
178
  - gems/server/Rakefile
@@ -192,6 +196,7 @@ files:
192
196
  - gems/server/ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs
193
197
  - gems/server/ext/itsi_scheduler/src/itsi_scheduler/timer.rs
194
198
  - gems/server/ext/itsi_scheduler/src/lib.rs
199
+ - gems/server/ext/itsi_server/Cargo.lock
195
200
  - gems/server/ext/itsi_server/Cargo.toml
196
201
  - gems/server/ext/itsi_server/extconf.rb
197
202
  - gems/server/ext/itsi_server/src/body_proxy/big_bytes.rs
@@ -222,18 +227,202 @@ files:
222
227
  - gems/server/ext/itsi_tracing/Cargo.toml
223
228
  - gems/server/ext/itsi_tracing/src/lib.rs
224
229
  - gems/server/itsi-server.gemspec
230
+ - gems/server/lib/itsi/index.html
225
231
  - gems/server/lib/itsi/request.rb
226
232
  - gems/server/lib/itsi/server.rb
227
233
  - gems/server/lib/itsi/server/rack/handler/itsi.rb
234
+ - gems/server/lib/itsi/server/rack_interface.rb
235
+ - gems/server/lib/itsi/server/scheduler_interface.rb
228
236
  - gems/server/lib/itsi/server/scheduler_mode.rb
237
+ - gems/server/lib/itsi/server/signal_trap.rb
229
238
  - gems/server/lib/itsi/server/version.rb
230
- - gems/server/lib/itsi/signals.rb
231
239
  - gems/server/lib/itsi/stream_io.rb
232
240
  - gems/server/sig/itsi_server.rbs
233
- - gems/server/test/test_helper.rb
241
+ - gems/server/test/helpers/test_helper.rb
234
242
  - gems/server/test/test_itsi_server.rb
235
243
  - lib/itsi.rb
236
244
  - lib/itsi/version.rb
245
+ - sandbox/deploy/main.tf
246
+ - sandbox/deploy/outputs.tf
247
+ - sandbox/deploy/vars.tf
248
+ - sandbox/falcon_benchmark/Gemfile
249
+ - sandbox/falcon_benchmark/Gemfile.lock
250
+ - sandbox/falcon_benchmark/config.ru
251
+ - sandbox/itsi_sandbox_async/Gemfile
252
+ - sandbox/itsi_sandbox_async/Gemfile.lock
253
+ - sandbox/itsi_sandbox_async/config.ru
254
+ - sandbox/itsi_sandbox_hanami/.env
255
+ - sandbox/itsi_sandbox_hanami/.gitignore
256
+ - sandbox/itsi_sandbox_hanami/.rspec
257
+ - sandbox/itsi_sandbox_hanami/Gemfile
258
+ - sandbox/itsi_sandbox_hanami/Gemfile.lock
259
+ - sandbox/itsi_sandbox_hanami/Guardfile
260
+ - sandbox/itsi_sandbox_hanami/Procfile.dev
261
+ - sandbox/itsi_sandbox_hanami/README.md
262
+ - sandbox/itsi_sandbox_hanami/Rakefile
263
+ - sandbox/itsi_sandbox_hanami/app/action.rb
264
+ - sandbox/itsi_sandbox_hanami/app/actions/.keep
265
+ - sandbox/itsi_sandbox_hanami/app/assets/css/app.css
266
+ - sandbox/itsi_sandbox_hanami/app/assets/images/favicon.ico
267
+ - sandbox/itsi_sandbox_hanami/app/assets/js/app.js
268
+ - sandbox/itsi_sandbox_hanami/app/db/relation.rb
269
+ - sandbox/itsi_sandbox_hanami/app/db/repo.rb
270
+ - sandbox/itsi_sandbox_hanami/app/db/struct.rb
271
+ - sandbox/itsi_sandbox_hanami/app/operation.rb
272
+ - sandbox/itsi_sandbox_hanami/app/relations/.keep
273
+ - sandbox/itsi_sandbox_hanami/app/repos/.keep
274
+ - sandbox/itsi_sandbox_hanami/app/structs/.keep
275
+ - sandbox/itsi_sandbox_hanami/app/templates/layouts/app.html.erb
276
+ - sandbox/itsi_sandbox_hanami/app/view.rb
277
+ - sandbox/itsi_sandbox_hanami/app/views/helpers.rb
278
+ - sandbox/itsi_sandbox_hanami/bin/dev
279
+ - sandbox/itsi_sandbox_hanami/config.ru
280
+ - sandbox/itsi_sandbox_hanami/config/app.rb
281
+ - sandbox/itsi_sandbox_hanami/config/assets.js
282
+ - sandbox/itsi_sandbox_hanami/config/db/migrate/.keep
283
+ - sandbox/itsi_sandbox_hanami/config/db/seeds.rb
284
+ - sandbox/itsi_sandbox_hanami/config/puma.rb
285
+ - sandbox/itsi_sandbox_hanami/config/routes.rb
286
+ - sandbox/itsi_sandbox_hanami/config/settings.rb
287
+ - sandbox/itsi_sandbox_hanami/db/.keep
288
+ - sandbox/itsi_sandbox_hanami/lib/itsi_hanami/types.rb
289
+ - sandbox/itsi_sandbox_hanami/lib/tasks/.keep
290
+ - sandbox/itsi_sandbox_hanami/package-lock.json
291
+ - sandbox/itsi_sandbox_hanami/package.json
292
+ - sandbox/itsi_sandbox_hanami/spec/requests/root_spec.rb
293
+ - sandbox/itsi_sandbox_hanami/spec/spec_helper.rb
294
+ - sandbox/itsi_sandbox_hanami/spec/support/db.rb
295
+ - sandbox/itsi_sandbox_hanami/spec/support/db/cleaning.rb
296
+ - sandbox/itsi_sandbox_hanami/spec/support/features.rb
297
+ - sandbox/itsi_sandbox_hanami/spec/support/operations.rb
298
+ - sandbox/itsi_sandbox_hanami/spec/support/requests.rb
299
+ - sandbox/itsi_sandbox_hanami/spec/support/rspec.rb
300
+ - sandbox/itsi_sandbox_rack/Gemfile
301
+ - sandbox/itsi_sandbox_rack/Gemfile.lock
302
+ - sandbox/itsi_sandbox_rack/config.ru
303
+ - sandbox/itsi_sandbox_rack_lint/Gemfile
304
+ - sandbox/itsi_sandbox_rack_lint/Gemfile.lock
305
+ - sandbox/itsi_sandbox_rack_lint/config.ru
306
+ - sandbox/itsi_sandbox_rails/.dockerignore
307
+ - sandbox/itsi_sandbox_rails/.gitattributes
308
+ - sandbox/itsi_sandbox_rails/.github/dependabot.yml
309
+ - sandbox/itsi_sandbox_rails/.github/workflows/ci.yml
310
+ - sandbox/itsi_sandbox_rails/.gitignore
311
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/docker-setup.sample
312
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/post-app-boot.sample
313
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/post-deploy.sample
314
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/post-proxy-reboot.sample
315
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/pre-app-boot.sample
316
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/pre-build.sample
317
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/pre-connect.sample
318
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/pre-deploy.sample
319
+ - sandbox/itsi_sandbox_rails/.kamal/hooks/pre-proxy-reboot.sample
320
+ - sandbox/itsi_sandbox_rails/.kamal/secrets
321
+ - sandbox/itsi_sandbox_rails/.rubocop.yml
322
+ - sandbox/itsi_sandbox_rails/.ruby-version
323
+ - sandbox/itsi_sandbox_rails/Dockerfile
324
+ - sandbox/itsi_sandbox_rails/Gemfile
325
+ - sandbox/itsi_sandbox_rails/Gemfile.lock
326
+ - sandbox/itsi_sandbox_rails/README.md
327
+ - sandbox/itsi_sandbox_rails/Rakefile
328
+ - sandbox/itsi_sandbox_rails/app/assets/images/.keep
329
+ - sandbox/itsi_sandbox_rails/app/assets/stylesheets/application.css
330
+ - sandbox/itsi_sandbox_rails/app/controllers/application_controller.rb
331
+ - sandbox/itsi_sandbox_rails/app/controllers/concerns/.keep
332
+ - sandbox/itsi_sandbox_rails/app/controllers/home_controller.rb
333
+ - sandbox/itsi_sandbox_rails/app/controllers/live_controller.rb
334
+ - sandbox/itsi_sandbox_rails/app/controllers/uploads_controller.rb
335
+ - sandbox/itsi_sandbox_rails/app/helpers/application_helper.rb
336
+ - sandbox/itsi_sandbox_rails/app/javascript/application.js
337
+ - sandbox/itsi_sandbox_rails/app/javascript/controllers/application.js
338
+ - sandbox/itsi_sandbox_rails/app/javascript/controllers/hello_controller.js
339
+ - sandbox/itsi_sandbox_rails/app/javascript/controllers/index.js
340
+ - sandbox/itsi_sandbox_rails/app/jobs/application_job.rb
341
+ - sandbox/itsi_sandbox_rails/app/mailers/application_mailer.rb
342
+ - sandbox/itsi_sandbox_rails/app/models/application_record.rb
343
+ - sandbox/itsi_sandbox_rails/app/models/concerns/.keep
344
+ - sandbox/itsi_sandbox_rails/app/models/post.rb
345
+ - sandbox/itsi_sandbox_rails/app/views/layouts/application.html.erb
346
+ - sandbox/itsi_sandbox_rails/app/views/layouts/mailer.html.erb
347
+ - sandbox/itsi_sandbox_rails/app/views/layouts/mailer.text.erb
348
+ - sandbox/itsi_sandbox_rails/app/views/pwa/manifest.json.erb
349
+ - sandbox/itsi_sandbox_rails/app/views/pwa/service-worker.js
350
+ - sandbox/itsi_sandbox_rails/bin/brakeman
351
+ - sandbox/itsi_sandbox_rails/bin/bundle
352
+ - sandbox/itsi_sandbox_rails/bin/dev
353
+ - sandbox/itsi_sandbox_rails/bin/docker-entrypoint
354
+ - sandbox/itsi_sandbox_rails/bin/importmap
355
+ - sandbox/itsi_sandbox_rails/bin/jobs
356
+ - sandbox/itsi_sandbox_rails/bin/kamal
357
+ - sandbox/itsi_sandbox_rails/bin/rails
358
+ - sandbox/itsi_sandbox_rails/bin/rake
359
+ - sandbox/itsi_sandbox_rails/bin/rubocop
360
+ - sandbox/itsi_sandbox_rails/bin/setup
361
+ - sandbox/itsi_sandbox_rails/bin/thrust
362
+ - sandbox/itsi_sandbox_rails/config.ru
363
+ - sandbox/itsi_sandbox_rails/config/application.rb
364
+ - sandbox/itsi_sandbox_rails/config/boot.rb
365
+ - sandbox/itsi_sandbox_rails/config/cable.yml
366
+ - sandbox/itsi_sandbox_rails/config/cache.yml
367
+ - sandbox/itsi_sandbox_rails/config/credentials.yml.enc
368
+ - sandbox/itsi_sandbox_rails/config/database.yml
369
+ - sandbox/itsi_sandbox_rails/config/deploy.yml
370
+ - sandbox/itsi_sandbox_rails/config/environment.rb
371
+ - sandbox/itsi_sandbox_rails/config/environments/development.rb
372
+ - sandbox/itsi_sandbox_rails/config/environments/production.rb
373
+ - sandbox/itsi_sandbox_rails/config/environments/test.rb
374
+ - sandbox/itsi_sandbox_rails/config/importmap.rb
375
+ - sandbox/itsi_sandbox_rails/config/initializers/assets.rb
376
+ - sandbox/itsi_sandbox_rails/config/initializers/content_security_policy.rb
377
+ - sandbox/itsi_sandbox_rails/config/initializers/filter_parameter_logging.rb
378
+ - sandbox/itsi_sandbox_rails/config/initializers/inflections.rb
379
+ - sandbox/itsi_sandbox_rails/config/locales/en.yml
380
+ - sandbox/itsi_sandbox_rails/config/puma.rb
381
+ - sandbox/itsi_sandbox_rails/config/queue.yml
382
+ - sandbox/itsi_sandbox_rails/config/recurring.yml
383
+ - sandbox/itsi_sandbox_rails/config/routes.rb
384
+ - sandbox/itsi_sandbox_rails/config/storage.yml
385
+ - sandbox/itsi_sandbox_rails/db/cable_schema.rb
386
+ - sandbox/itsi_sandbox_rails/db/cache_schema.rb
387
+ - sandbox/itsi_sandbox_rails/db/migrate/20250301041554_create_posts.rb
388
+ - sandbox/itsi_sandbox_rails/db/queue_schema.rb
389
+ - sandbox/itsi_sandbox_rails/db/schema.rb
390
+ - sandbox/itsi_sandbox_rails/db/seeds.rb
391
+ - sandbox/itsi_sandbox_rails/lib/tasks/.keep
392
+ - sandbox/itsi_sandbox_rails/log/.keep
393
+ - sandbox/itsi_sandbox_rails/public/400.html
394
+ - sandbox/itsi_sandbox_rails/public/404.html
395
+ - sandbox/itsi_sandbox_rails/public/406-unsupported-browser.html
396
+ - sandbox/itsi_sandbox_rails/public/422.html
397
+ - sandbox/itsi_sandbox_rails/public/500.html
398
+ - sandbox/itsi_sandbox_rails/public/icon.png
399
+ - sandbox/itsi_sandbox_rails/public/icon.svg
400
+ - sandbox/itsi_sandbox_rails/public/robots.txt
401
+ - sandbox/itsi_sandbox_rails/script/.keep
402
+ - sandbox/itsi_sandbox_rails/storage/.keep
403
+ - sandbox/itsi_sandbox_rails/test/application_system_test_case.rb
404
+ - sandbox/itsi_sandbox_rails/test/controllers/.keep
405
+ - sandbox/itsi_sandbox_rails/test/fixtures/files/.keep
406
+ - sandbox/itsi_sandbox_rails/test/fixtures/posts.yml
407
+ - sandbox/itsi_sandbox_rails/test/helpers/.keep
408
+ - sandbox/itsi_sandbox_rails/test/integration/.keep
409
+ - sandbox/itsi_sandbox_rails/test/mailers/.keep
410
+ - sandbox/itsi_sandbox_rails/test/models/.keep
411
+ - sandbox/itsi_sandbox_rails/test/models/post_test.rb
412
+ - sandbox/itsi_sandbox_rails/test/system/.keep
413
+ - sandbox/itsi_sandbox_rails/test/test_helper.rb
414
+ - sandbox/itsi_sandbox_rails/tmp/.keep
415
+ - sandbox/itsi_sandbox_rails/tmp/pids/.keep
416
+ - sandbox/itsi_sandbox_rails/tmp/storage/.keep
417
+ - sandbox/itsi_sandbox_rails/vendor/.keep
418
+ - sandbox/itsi_sandbox_rails/vendor/javascript/.keep
419
+ - sandbox/itsi_sandbox_roda/Gemfile
420
+ - sandbox/itsi_sandbox_roda/Gemfile.lock
421
+ - sandbox/itsi_sandbox_roda/config.ru
422
+ - sandbox/itsi_sinatra/Gemfile
423
+ - sandbox/itsi_sinatra/Gemfile.lock
424
+ - sandbox/itsi_sinatra/app.rb
425
+ - sandbox/pebble/docker-compose.yml
237
426
  - tasks.txt
238
427
  homepage: https://itsi.fyi
239
428
  licenses:
@@ -1,23 +0,0 @@
1
- module Itsi
2
- module Signals
3
- DEFAULT_SIGNALS = ["DEFAULT", ""].freeze
4
- module SignalTrap
5
- def self.trap(signal, *args, &block)
6
- if DEFAULT_SIGNALS.include?(command.to_s) && block.nil?
7
- Itsi::Server.reset_signal_handlers
8
- nil
9
- else
10
- super(signal, *args, &block)
11
- end
12
- end
13
- end
14
- end
15
- end
16
-
17
- [Kernel, Signal].each do |receiver|
18
- receiver.singleton_class.prepend(Itsi::Signals::SignalTrap)
19
- end
20
-
21
- [Object].each do |receiver|
22
- receiver.include(Itsi::Signals::SignalTrap)
23
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
4
- $LOAD_PATH.unshift __dir__
5
- require "itsi/server"
6
-
7
- require "minitest/autorun"