itsi 0.2.15 → 0.2.17
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +23 -0
- data/Cargo.lock +76 -74
- data/crates/itsi_acme/Cargo.toml +1 -1
- data/crates/itsi_scheduler/Cargo.toml +1 -1
- data/crates/itsi_scheduler/extconf.rb +3 -1
- data/crates/itsi_server/Cargo.lock +1 -1
- data/crates/itsi_server/Cargo.toml +3 -1
- data/crates/itsi_server/extconf.rb +3 -1
- data/crates/itsi_server/src/lib.rs +7 -1
- data/crates/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs +2 -0
- data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +6 -6
- data/crates/itsi_server/src/ruby_types/itsi_grpc_response_stream/mod.rs +14 -13
- data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +71 -42
- data/crates/itsi_server/src/ruby_types/itsi_http_response.rs +151 -152
- data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +6 -15
- data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +32 -6
- data/crates/itsi_server/src/ruby_types/itsi_server.rs +1 -1
- data/crates/itsi_server/src/server/binds/listener.rs +49 -8
- data/crates/itsi_server/src/server/frame_stream.rs +142 -0
- data/crates/itsi_server/src/server/http_message_types.rs +143 -10
- data/crates/itsi_server/src/server/io_stream.rs +28 -5
- data/crates/itsi_server/src/server/lifecycle_event.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +2 -3
- data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +8 -10
- data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +2 -3
- data/crates/itsi_server/src/server/middleware_stack/middlewares/csp.rs +3 -3
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +54 -58
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +6 -9
- data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +27 -42
- data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +65 -14
- data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +8 -11
- data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
- data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +2 -3
- data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +1 -2
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +13 -6
- data/crates/itsi_server/src/server/mod.rs +1 -0
- data/crates/itsi_server/src/server/process_worker.rs +5 -5
- data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +100 -0
- data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +87 -31
- data/crates/itsi_server/src/server/serve_strategy/mod.rs +1 -0
- data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +166 -206
- data/crates/itsi_server/src/server/signal.rs +37 -9
- data/crates/itsi_server/src/server/thread_worker.rs +92 -70
- data/crates/itsi_server/src/services/itsi_http_service.rs +67 -62
- data/crates/itsi_server/src/services/mime_types.rs +185 -183
- data/crates/itsi_server/src/services/rate_limiter.rs +16 -34
- data/crates/itsi_server/src/services/static_file_server.rs +35 -60
- data/docs/benchmark-dashboard/.gitignore +27 -0
- data/docs/benchmark-dashboard/app/api/benchmarks/route.ts +22 -0
- data/docs/benchmark-dashboard/app/globals.css +94 -0
- data/docs/benchmark-dashboard/app/layout.tsx +20 -0
- data/docs/benchmark-dashboard/app/page.tsx +252 -0
- data/docs/benchmark-dashboard/components/benchmark-dashboard.tsx +1663 -0
- data/docs/benchmark-dashboard/components/theme-provider.tsx +11 -0
- data/docs/benchmark-dashboard/components/ui/accordion.tsx +58 -0
- data/docs/benchmark-dashboard/components/ui/alert-dialog.tsx +141 -0
- data/docs/benchmark-dashboard/components/ui/alert.tsx +59 -0
- data/docs/benchmark-dashboard/components/ui/aspect-ratio.tsx +7 -0
- data/docs/benchmark-dashboard/components/ui/avatar.tsx +50 -0
- data/docs/benchmark-dashboard/components/ui/badge.tsx +36 -0
- data/docs/benchmark-dashboard/components/ui/breadcrumb.tsx +115 -0
- data/docs/benchmark-dashboard/components/ui/button.tsx +56 -0
- data/docs/benchmark-dashboard/components/ui/calendar.tsx +66 -0
- data/docs/benchmark-dashboard/components/ui/card.tsx +79 -0
- data/docs/benchmark-dashboard/components/ui/carousel.tsx +262 -0
- data/docs/benchmark-dashboard/components/ui/chart.tsx +365 -0
- data/docs/benchmark-dashboard/components/ui/checkbox.tsx +30 -0
- data/docs/benchmark-dashboard/components/ui/collapsible.tsx +11 -0
- data/docs/benchmark-dashboard/components/ui/command.tsx +153 -0
- data/docs/benchmark-dashboard/components/ui/context-menu.tsx +200 -0
- data/docs/benchmark-dashboard/components/ui/dialog.tsx +122 -0
- data/docs/benchmark-dashboard/components/ui/drawer.tsx +118 -0
- data/docs/benchmark-dashboard/components/ui/dropdown-menu.tsx +200 -0
- data/docs/benchmark-dashboard/components/ui/form.tsx +178 -0
- data/docs/benchmark-dashboard/components/ui/hover-card.tsx +29 -0
- data/docs/benchmark-dashboard/components/ui/input-otp.tsx +71 -0
- data/docs/benchmark-dashboard/components/ui/input.tsx +22 -0
- data/docs/benchmark-dashboard/components/ui/label.tsx +26 -0
- data/docs/benchmark-dashboard/components/ui/loading-spinner.tsx +12 -0
- data/docs/benchmark-dashboard/components/ui/menubar.tsx +236 -0
- data/docs/benchmark-dashboard/components/ui/navigation-menu.tsx +128 -0
- data/docs/benchmark-dashboard/components/ui/pagination.tsx +117 -0
- data/docs/benchmark-dashboard/components/ui/popover.tsx +31 -0
- data/docs/benchmark-dashboard/components/ui/progress.tsx +28 -0
- data/docs/benchmark-dashboard/components/ui/radio-group.tsx +44 -0
- data/docs/benchmark-dashboard/components/ui/resizable.tsx +45 -0
- data/docs/benchmark-dashboard/components/ui/scroll-area.tsx +48 -0
- data/docs/benchmark-dashboard/components/ui/select.tsx +160 -0
- data/docs/benchmark-dashboard/components/ui/separator.tsx +31 -0
- data/docs/benchmark-dashboard/components/ui/sheet.tsx +140 -0
- data/docs/benchmark-dashboard/components/ui/sidebar.tsx +763 -0
- data/docs/benchmark-dashboard/components/ui/skeleton.tsx +15 -0
- data/docs/benchmark-dashboard/components/ui/slider.tsx +28 -0
- data/docs/benchmark-dashboard/components/ui/sonner.tsx +31 -0
- data/docs/benchmark-dashboard/components/ui/switch.tsx +29 -0
- data/docs/benchmark-dashboard/components/ui/table.tsx +117 -0
- data/docs/benchmark-dashboard/components/ui/tabs.tsx +55 -0
- data/docs/benchmark-dashboard/components/ui/textarea.tsx +22 -0
- data/docs/benchmark-dashboard/components/ui/toast.tsx +129 -0
- data/docs/benchmark-dashboard/components/ui/toaster.tsx +35 -0
- data/docs/benchmark-dashboard/components/ui/toggle-group.tsx +61 -0
- data/docs/benchmark-dashboard/components/ui/toggle.tsx +45 -0
- data/docs/benchmark-dashboard/components/ui/tooltip.tsx +30 -0
- data/docs/benchmark-dashboard/components/ui/use-mobile.tsx +19 -0
- data/docs/benchmark-dashboard/components/ui/use-toast.ts +194 -0
- data/docs/benchmark-dashboard/components.json +21 -0
- data/docs/benchmark-dashboard/dist/benchmark-dashboard.css +1 -0
- data/docs/benchmark-dashboard/dist/benchmark-dashboard.iife.js +211 -0
- data/docs/benchmark-dashboard/dist/placeholder-logo.png +0 -0
- data/docs/benchmark-dashboard/dist/placeholder-logo.svg +1 -0
- data/docs/benchmark-dashboard/dist/placeholder-user.jpg +0 -0
- data/docs/benchmark-dashboard/dist/placeholder.jpg +0 -0
- data/docs/benchmark-dashboard/dist/placeholder.svg +1 -0
- data/docs/benchmark-dashboard/embed.tsx +13 -0
- data/docs/benchmark-dashboard/hooks/use-mobile.tsx +19 -0
- data/docs/benchmark-dashboard/hooks/use-toast.ts +194 -0
- data/docs/benchmark-dashboard/lib/benchmark-utils.ts +54 -0
- data/docs/benchmark-dashboard/lib/utils.ts +6 -0
- data/docs/benchmark-dashboard/next.config.mjs +14 -0
- data/docs/benchmark-dashboard/package-lock.json +5859 -0
- data/docs/benchmark-dashboard/package.json +72 -0
- data/docs/benchmark-dashboard/pnpm-lock.yaml +5 -0
- data/docs/benchmark-dashboard/postcss.config.mjs +8 -0
- data/docs/benchmark-dashboard/styles/globals.css +94 -0
- data/docs/benchmark-dashboard/tailwind.config.ts +96 -0
- data/docs/benchmark-dashboard/tsconfig.json +27 -0
- data/docs/benchmark-dashboard/vite.config.ts +24 -0
- data/docs/build.rb +52 -0
- data/docs/content/benchmarks/index.md +96 -0
- data/docs/content/features/_index.md +1 -1
- data/docs/content/getting_started/_index.md +76 -46
- data/docs/hugo.yaml +3 -0
- data/docs/static/results.json +1 -0
- data/docs/static/scripts/benchmark-dashboard.iife.js +211 -0
- data/docs/static/styles/benchmark-dashboard.css +1 -0
- data/examples/rails_with_static_assets/Gemfile.lock +1 -1
- data/examples/rails_with_static_assets/Itsi.rb +4 -1
- data/gems/scheduler/Cargo.lock +15 -15
- data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
- data/gems/server/Cargo.lock +75 -73
- data/gems/server/exe/itsi +6 -1
- data/gems/server/lib/itsi/http_request.rb +31 -39
- data/gems/server/lib/itsi/http_response.rb +5 -0
- data/gems/server/lib/itsi/rack_env_pool.rb +59 -0
- data/gems/server/lib/itsi/server/config/config_helpers.rb +1 -2
- data/gems/server/lib/itsi/server/config/dsl.rb +5 -4
- data/gems/server/lib/itsi/server/config/middleware/etag.md +3 -7
- data/gems/server/lib/itsi/server/config/middleware/etag.rb +2 -4
- data/gems/server/lib/itsi/server/config/middleware/proxy.rb +1 -1
- data/gems/server/lib/itsi/server/config/middleware/rackup_file.rb +2 -2
- data/gems/server/lib/itsi/server/config/options/auto_reload_config.rb +6 -2
- data/gems/server/lib/itsi/server/config/options/include.rb +5 -2
- data/gems/server/lib/itsi/server/config/options/listen_backlog.rb +1 -1
- data/gems/server/lib/itsi/server/config/options/pipeline_flush.md +16 -0
- data/gems/server/lib/itsi/server/config/options/pipeline_flush.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/send_buffer_size.md +15 -0
- data/gems/server/lib/itsi/server/config/options/send_buffer_size.rb +19 -0
- data/gems/server/lib/itsi/server/config/options/writev.md +25 -0
- data/gems/server/lib/itsi/server/config/options/writev.rb +19 -0
- data/gems/server/lib/itsi/server/config.rb +43 -31
- data/gems/server/lib/itsi/server/default_config/Itsi.rb +1 -4
- data/gems/server/lib/itsi/server/grpc/grpc_call.rb +2 -0
- data/gems/server/lib/itsi/server/grpc/grpc_interface.rb +2 -2
- data/gems/server/lib/itsi/server/rack/handler/itsi.rb +3 -1
- data/gems/server/lib/itsi/server/rack_interface.rb +17 -12
- data/gems/server/lib/itsi/server/route_tester.rb +1 -1
- data/gems/server/lib/itsi/server/scheduler_interface.rb +2 -0
- data/gems/server/lib/itsi/server/version.rb +1 -1
- data/gems/server/lib/itsi/server.rb +1 -0
- data/gems/server/lib/ruby_lsp/itsi/addon.rb +12 -13
- data/gems/server/test/helpers/test_helper.rb +12 -13
- data/gems/server/test/middleware/etag.rb +3 -3
- data/gems/server/test/middleware/grpc/grpc.rb +13 -14
- data/gems/server/test/middleware/grpc/test_service_impl.rb +3 -3
- data/gems/server/test/middleware/proxy.rb +262 -268
- data/gems/server/test/options/ruby_thread_request_backlog_size.rb +2 -3
- data/lib/itsi/version.rb +1 -1
- metadata +99 -6
- data/tasks.txt +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b075a4a9438fc86d5ce4840029e59e5b4d90a374aecc3a080080e626489ae51
|
4
|
+
data.tar.gz: c9feb6ed9ec31dbf7d4abcb3038d032baf16b440a6ffec54c4b4422b6bb005de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1d903418e23ac96c5920fc3b3f6bfa6d0befafb6c9bd8cbee6a204c2d2811e2905802297611e10c4a199e666014f8cfe0da22f229e11f76cdf81664ba4dd973e
|
7
|
+
data.tar.gz: 136ae37d837c398b833a5275190f30276e2b4a5d0e740d00cc38be86cabeed111d07518931c9df2cc34984a163e4c835fe73ff0d7f555ea24676e92ebf7613f7
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
## [0.2.17] - 2025-05-31
|
2
|
+
- Enabled vectorized writes in IoSteam
|
3
|
+
- Replaced all usage of heap-allocated BoxBody with HttpBody enums
|
4
|
+
- Add 5 threads as default for rack/handler
|
5
|
+
- Reserve header size ahead of time in rack interface
|
6
|
+
- Avoid intermediate array allocation when populating Rack env headers.
|
7
|
+
- Rewrite synchronous thread worker to avoid excessive GVL acquisition
|
8
|
+
- Revert to default write_ev behaviour for http1
|
9
|
+
- Switch to service_fn from service struct to avoid one additional pinned future
|
10
|
+
- Worker pinning accepts ruby workers too
|
11
|
+
- Fixed ordering incomaptibility in etag forwarding from static file server
|
12
|
+
- Added embedded benchmark suite
|
13
|
+
|
14
|
+
## [0.2.16] - 2025-05-02
|
15
|
+
- Optimized static error responses
|
16
|
+
- Optimized rate limit middleware
|
17
|
+
- Made default static serve command use more efficient defaults
|
18
|
+
- Reduced cloning in main accept-loop
|
19
|
+
- Fixed ability to set nodelay to false.
|
20
|
+
- Added send_buffer_size option.
|
21
|
+
- Worker pinning accepts ruby workers too
|
22
|
+
- Fixed ordering incomaptibility in etag forwarding from static file server
|
23
|
+
|
1
24
|
## [0.2.14] - 2025-04-30
|
2
25
|
- Support new-line separated headers for Rack 2 backward compatibility.
|
3
26
|
|
data/Cargo.lock
CHANGED
@@ -24,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
24
24
|
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
|
25
25
|
dependencies = [
|
26
26
|
"cfg-if",
|
27
|
-
"getrandom 0.2.
|
27
|
+
"getrandom 0.2.16",
|
28
28
|
"once_cell",
|
29
29
|
"version_check",
|
30
30
|
"zerocopy 0.7.35",
|
@@ -176,7 +176,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490"
|
|
176
176
|
dependencies = [
|
177
177
|
"proc-macro2",
|
178
178
|
"quote",
|
179
|
-
"syn 2.0.
|
179
|
+
"syn 2.0.101",
|
180
180
|
"synstructure",
|
181
181
|
]
|
182
182
|
|
@@ -188,7 +188,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7"
|
|
188
188
|
dependencies = [
|
189
189
|
"proc-macro2",
|
190
190
|
"quote",
|
191
|
-
"syn 2.0.
|
191
|
+
"syn 2.0.101",
|
192
192
|
]
|
193
193
|
|
194
194
|
[[package]]
|
@@ -205,9 +205,9 @@ dependencies = [
|
|
205
205
|
|
206
206
|
[[package]]
|
207
207
|
name = "async-compression"
|
208
|
-
version = "0.4.
|
208
|
+
version = "0.4.23"
|
209
209
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
210
|
-
checksum = "
|
210
|
+
checksum = "b37fc50485c4f3f736a4fb14199f6d5f5ba008d7f28fe710306c92780f004c07"
|
211
211
|
dependencies = [
|
212
212
|
"brotli",
|
213
213
|
"flate2",
|
@@ -228,7 +228,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5"
|
|
228
228
|
dependencies = [
|
229
229
|
"proc-macro2",
|
230
230
|
"quote",
|
231
|
-
"syn 2.0.
|
231
|
+
"syn 2.0.101",
|
232
232
|
]
|
233
233
|
|
234
234
|
[[package]]
|
@@ -423,7 +423,7 @@ dependencies = [
|
|
423
423
|
"regex",
|
424
424
|
"rustc-hash 1.1.0",
|
425
425
|
"shlex",
|
426
|
-
"syn 2.0.
|
426
|
+
"syn 2.0.101",
|
427
427
|
"which",
|
428
428
|
]
|
429
429
|
|
@@ -469,9 +469,9 @@ dependencies = [
|
|
469
469
|
|
470
470
|
[[package]]
|
471
471
|
name = "brotli"
|
472
|
-
version = "
|
472
|
+
version = "8.0.0"
|
473
473
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
474
|
-
checksum = "
|
474
|
+
checksum = "cf19e729cdbd51af9a397fb9ef8ac8378007b797f8273cfbfdf45dcaa316167b"
|
475
475
|
dependencies = [
|
476
476
|
"alloc-no-stdlib",
|
477
477
|
"alloc-stdlib",
|
@@ -480,9 +480,9 @@ dependencies = [
|
|
480
480
|
|
481
481
|
[[package]]
|
482
482
|
name = "brotli-decompressor"
|
483
|
-
version = "
|
483
|
+
version = "5.0.0"
|
484
484
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
485
|
-
checksum = "
|
485
|
+
checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03"
|
486
486
|
dependencies = [
|
487
487
|
"alloc-no-stdlib",
|
488
488
|
"alloc-stdlib",
|
@@ -518,9 +518,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
|
|
518
518
|
|
519
519
|
[[package]]
|
520
520
|
name = "cc"
|
521
|
-
version = "1.2.
|
521
|
+
version = "1.2.20"
|
522
522
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
523
|
-
checksum = "
|
523
|
+
checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a"
|
524
524
|
dependencies = [
|
525
525
|
"jobserver",
|
526
526
|
"libc",
|
@@ -550,9 +550,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
|
550
550
|
|
551
551
|
[[package]]
|
552
552
|
name = "chrono"
|
553
|
-
version = "0.4.
|
553
|
+
version = "0.4.41"
|
554
554
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
555
|
-
checksum = "
|
555
|
+
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
|
556
556
|
dependencies = [
|
557
557
|
"android-tzdata",
|
558
558
|
"iana-time-zone",
|
@@ -629,7 +629,7 @@ dependencies = [
|
|
629
629
|
"heck 0.5.0",
|
630
630
|
"proc-macro2",
|
631
631
|
"quote",
|
632
|
-
"syn 2.0.
|
632
|
+
"syn 2.0.101",
|
633
633
|
]
|
634
634
|
|
635
635
|
[[package]]
|
@@ -821,7 +821,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
|
|
821
821
|
dependencies = [
|
822
822
|
"proc-macro2",
|
823
823
|
"quote",
|
824
|
-
"syn 2.0.
|
824
|
+
"syn 2.0.101",
|
825
825
|
"unicode-xid",
|
826
826
|
]
|
827
827
|
|
@@ -865,7 +865,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
|
865
865
|
dependencies = [
|
866
866
|
"proc-macro2",
|
867
867
|
"quote",
|
868
|
-
"syn 2.0.
|
868
|
+
"syn 2.0.101",
|
869
869
|
]
|
870
870
|
|
871
871
|
[[package]]
|
@@ -1060,7 +1060,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
|
|
1060
1060
|
dependencies = [
|
1061
1061
|
"proc-macro2",
|
1062
1062
|
"quote",
|
1063
|
-
"syn 2.0.
|
1063
|
+
"syn 2.0.101",
|
1064
1064
|
]
|
1065
1065
|
|
1066
1066
|
[[package]]
|
@@ -1105,9 +1105,9 @@ dependencies = [
|
|
1105
1105
|
|
1106
1106
|
[[package]]
|
1107
1107
|
name = "getrandom"
|
1108
|
-
version = "0.2.
|
1108
|
+
version = "0.2.16"
|
1109
1109
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1110
|
-
checksum = "
|
1110
|
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
|
1111
1111
|
dependencies = [
|
1112
1112
|
"cfg-if",
|
1113
1113
|
"js-sys",
|
@@ -1195,9 +1195,9 @@ dependencies = [
|
|
1195
1195
|
|
1196
1196
|
[[package]]
|
1197
1197
|
name = "hashbrown"
|
1198
|
-
version = "0.15.
|
1198
|
+
version = "0.15.3"
|
1199
1199
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1200
|
-
checksum = "
|
1200
|
+
checksum = "84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3"
|
1201
1201
|
|
1202
1202
|
[[package]]
|
1203
1203
|
name = "headers"
|
@@ -1552,7 +1552,7 @@ checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
|
|
1552
1552
|
dependencies = [
|
1553
1553
|
"proc-macro2",
|
1554
1554
|
"quote",
|
1555
|
-
"syn 2.0.
|
1555
|
+
"syn 2.0.101",
|
1556
1556
|
]
|
1557
1557
|
|
1558
1558
|
[[package]]
|
@@ -1644,7 +1644,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
|
1644
1644
|
|
1645
1645
|
[[package]]
|
1646
1646
|
name = "itsi-scheduler"
|
1647
|
-
version = "0.2.
|
1647
|
+
version = "0.2.17"
|
1648
1648
|
dependencies = [
|
1649
1649
|
"bytes",
|
1650
1650
|
"derive_more",
|
@@ -1662,7 +1662,7 @@ dependencies = [
|
|
1662
1662
|
|
1663
1663
|
[[package]]
|
1664
1664
|
name = "itsi-server"
|
1665
|
-
version = "0.2.
|
1665
|
+
version = "0.2.17"
|
1666
1666
|
dependencies = [
|
1667
1667
|
"argon2",
|
1668
1668
|
"async-channel",
|
@@ -1678,6 +1678,7 @@ dependencies = [
|
|
1678
1678
|
"either",
|
1679
1679
|
"fs2",
|
1680
1680
|
"futures",
|
1681
|
+
"futures-util",
|
1681
1682
|
"globset",
|
1682
1683
|
"http 1.3.1",
|
1683
1684
|
"http-body-util",
|
@@ -1713,6 +1714,7 @@ dependencies = [
|
|
1713
1714
|
"serde_magnus",
|
1714
1715
|
"sha-crypt",
|
1715
1716
|
"sha2",
|
1717
|
+
"smallvec",
|
1716
1718
|
"socket2",
|
1717
1719
|
"sysinfo",
|
1718
1720
|
"tempfile",
|
@@ -1950,7 +1952,7 @@ checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
|
|
1950
1952
|
dependencies = [
|
1951
1953
|
"proc-macro2",
|
1952
1954
|
"quote",
|
1953
|
-
"syn 2.0.
|
1955
|
+
"syn 2.0.101",
|
1954
1956
|
]
|
1955
1957
|
|
1956
1958
|
[[package]]
|
@@ -2298,7 +2300,7 @@ dependencies = [
|
|
2298
2300
|
"phf_shared",
|
2299
2301
|
"proc-macro2",
|
2300
2302
|
"quote",
|
2301
|
-
"syn 2.0.
|
2303
|
+
"syn 2.0.101",
|
2302
2304
|
]
|
2303
2305
|
|
2304
2306
|
[[package]]
|
@@ -2327,7 +2329,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
|
|
2327
2329
|
dependencies = [
|
2328
2330
|
"proc-macro2",
|
2329
2331
|
"quote",
|
2330
|
-
"syn 2.0.
|
2332
|
+
"syn 2.0.101",
|
2331
2333
|
]
|
2332
2334
|
|
2333
2335
|
[[package]]
|
@@ -2360,7 +2362,7 @@ version = "0.2.21"
|
|
2360
2362
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2361
2363
|
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
2362
2364
|
dependencies = [
|
2363
|
-
"zerocopy 0.8.
|
2365
|
+
"zerocopy 0.8.25",
|
2364
2366
|
]
|
2365
2367
|
|
2366
2368
|
[[package]]
|
@@ -2370,7 +2372,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2370
2372
|
checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6"
|
2371
2373
|
dependencies = [
|
2372
2374
|
"proc-macro2",
|
2373
|
-
"syn 2.0.
|
2375
|
+
"syn 2.0.101",
|
2374
2376
|
]
|
2375
2377
|
|
2376
2378
|
[[package]]
|
@@ -2440,9 +2442,9 @@ dependencies = [
|
|
2440
2442
|
|
2441
2443
|
[[package]]
|
2442
2444
|
name = "quinn-proto"
|
2443
|
-
version = "0.11.
|
2445
|
+
version = "0.11.11"
|
2444
2446
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2445
|
-
checksum = "
|
2447
|
+
checksum = "bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b"
|
2446
2448
|
dependencies = [
|
2447
2449
|
"bytes",
|
2448
2450
|
"getrandom 0.3.2",
|
@@ -2460,9 +2462,9 @@ dependencies = [
|
|
2460
2462
|
|
2461
2463
|
[[package]]
|
2462
2464
|
name = "quinn-udp"
|
2463
|
-
version = "0.5.
|
2465
|
+
version = "0.5.12"
|
2464
2466
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2465
|
-
checksum = "
|
2467
|
+
checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"
|
2466
2468
|
dependencies = [
|
2467
2469
|
"cfg_aliases",
|
2468
2470
|
"libc",
|
@@ -2545,7 +2547,7 @@ version = "0.6.4"
|
|
2545
2547
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2546
2548
|
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
2547
2549
|
dependencies = [
|
2548
|
-
"getrandom 0.2.
|
2550
|
+
"getrandom 0.2.16",
|
2549
2551
|
]
|
2550
2552
|
|
2551
2553
|
[[package]]
|
@@ -2598,7 +2600,7 @@ dependencies = [
|
|
2598
2600
|
"quote",
|
2599
2601
|
"regex",
|
2600
2602
|
"shell-words",
|
2601
|
-
"syn 2.0.
|
2603
|
+
"syn 2.0.101",
|
2602
2604
|
]
|
2603
2605
|
|
2604
2606
|
[[package]]
|
@@ -2664,7 +2666,7 @@ version = "0.5.0"
|
|
2664
2666
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2665
2667
|
checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
|
2666
2668
|
dependencies = [
|
2667
|
-
"getrandom 0.2.
|
2669
|
+
"getrandom 0.2.16",
|
2668
2670
|
"libredox",
|
2669
2671
|
"thiserror 2.0.12",
|
2670
2672
|
]
|
@@ -2766,7 +2768,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
|
|
2766
2768
|
dependencies = [
|
2767
2769
|
"cc",
|
2768
2770
|
"cfg-if",
|
2769
|
-
"getrandom 0.2.
|
2771
|
+
"getrandom 0.2.16",
|
2770
2772
|
"libc",
|
2771
2773
|
"untrusted",
|
2772
2774
|
"windows-sys 0.52.0",
|
@@ -2814,9 +2816,9 @@ dependencies = [
|
|
2814
2816
|
|
2815
2817
|
[[package]]
|
2816
2818
|
name = "rustix"
|
2817
|
-
version = "1.0.
|
2819
|
+
version = "1.0.7"
|
2818
2820
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2819
|
-
checksum = "
|
2821
|
+
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
2820
2822
|
dependencies = [
|
2821
2823
|
"bitflags 2.9.0",
|
2822
2824
|
"errno",
|
@@ -2980,7 +2982,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
|
2980
2982
|
dependencies = [
|
2981
2983
|
"proc-macro2",
|
2982
2984
|
"quote",
|
2983
|
-
"syn 2.0.
|
2985
|
+
"syn 2.0.101",
|
2984
2986
|
]
|
2985
2987
|
|
2986
2988
|
[[package]]
|
@@ -3059,9 +3061,9 @@ checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
|
|
3059
3061
|
|
3060
3062
|
[[package]]
|
3061
3063
|
name = "sha2"
|
3062
|
-
version = "0.10.
|
3064
|
+
version = "0.10.9"
|
3063
3065
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3064
|
-
checksum = "
|
3066
|
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
3065
3067
|
dependencies = [
|
3066
3068
|
"cfg-if",
|
3067
3069
|
"cpufeatures",
|
@@ -3220,9 +3222,9 @@ dependencies = [
|
|
3220
3222
|
|
3221
3223
|
[[package]]
|
3222
3224
|
name = "syn"
|
3223
|
-
version = "2.0.
|
3225
|
+
version = "2.0.101"
|
3224
3226
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3225
|
-
checksum = "
|
3227
|
+
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
3226
3228
|
dependencies = [
|
3227
3229
|
"proc-macro2",
|
3228
3230
|
"quote",
|
@@ -3240,13 +3242,13 @@ dependencies = [
|
|
3240
3242
|
|
3241
3243
|
[[package]]
|
3242
3244
|
name = "synstructure"
|
3243
|
-
version = "0.13.
|
3245
|
+
version = "0.13.2"
|
3244
3246
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3245
|
-
checksum = "
|
3247
|
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
3246
3248
|
dependencies = [
|
3247
3249
|
"proc-macro2",
|
3248
3250
|
"quote",
|
3249
|
-
"syn 2.0.
|
3251
|
+
"syn 2.0.101",
|
3250
3252
|
]
|
3251
3253
|
|
3252
3254
|
[[package]]
|
@@ -3278,7 +3280,7 @@ dependencies = [
|
|
3278
3280
|
"fastrand",
|
3279
3281
|
"getrandom 0.3.2",
|
3280
3282
|
"once_cell",
|
3281
|
-
"rustix 1.0.
|
3283
|
+
"rustix 1.0.7",
|
3282
3284
|
"windows-sys 0.59.0",
|
3283
3285
|
]
|
3284
3286
|
|
@@ -3317,7 +3319,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
3317
3319
|
dependencies = [
|
3318
3320
|
"proc-macro2",
|
3319
3321
|
"quote",
|
3320
|
-
"syn 2.0.
|
3322
|
+
"syn 2.0.101",
|
3321
3323
|
]
|
3322
3324
|
|
3323
3325
|
[[package]]
|
@@ -3328,7 +3330,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
|
3328
3330
|
dependencies = [
|
3329
3331
|
"proc-macro2",
|
3330
3332
|
"quote",
|
3331
|
-
"syn 2.0.
|
3333
|
+
"syn 2.0.101",
|
3332
3334
|
]
|
3333
3335
|
|
3334
3336
|
[[package]]
|
@@ -3425,7 +3427,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
|
3425
3427
|
dependencies = [
|
3426
3428
|
"proc-macro2",
|
3427
3429
|
"quote",
|
3428
|
-
"syn 2.0.
|
3430
|
+
"syn 2.0.101",
|
3429
3431
|
]
|
3430
3432
|
|
3431
3433
|
[[package]]
|
@@ -3463,9 +3465,9 @@ dependencies = [
|
|
3463
3465
|
|
3464
3466
|
[[package]]
|
3465
3467
|
name = "tokio-util"
|
3466
|
-
version = "0.7.
|
3468
|
+
version = "0.7.15"
|
3467
3469
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3468
|
-
checksum = "
|
3470
|
+
checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
|
3469
3471
|
dependencies = [
|
3470
3472
|
"bytes",
|
3471
3473
|
"futures-core",
|
@@ -3535,7 +3537,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
|
|
3535
3537
|
dependencies = [
|
3536
3538
|
"proc-macro2",
|
3537
3539
|
"quote",
|
3538
|
-
"syn 2.0.
|
3540
|
+
"syn 2.0.101",
|
3539
3541
|
]
|
3540
3542
|
|
3541
3543
|
[[package]]
|
@@ -3795,7 +3797,7 @@ dependencies = [
|
|
3795
3797
|
"log",
|
3796
3798
|
"proc-macro2",
|
3797
3799
|
"quote",
|
3798
|
-
"syn 2.0.
|
3800
|
+
"syn 2.0.101",
|
3799
3801
|
"wasm-bindgen-shared",
|
3800
3802
|
]
|
3801
3803
|
|
@@ -3830,7 +3832,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
|
|
3830
3832
|
dependencies = [
|
3831
3833
|
"proc-macro2",
|
3832
3834
|
"quote",
|
3833
|
-
"syn 2.0.
|
3835
|
+
"syn 2.0.101",
|
3834
3836
|
"wasm-bindgen-backend",
|
3835
3837
|
"wasm-bindgen-shared",
|
3836
3838
|
]
|
@@ -3879,9 +3881,9 @@ dependencies = [
|
|
3879
3881
|
|
3880
3882
|
[[package]]
|
3881
3883
|
name = "webpki-roots"
|
3882
|
-
version = "0.26.
|
3884
|
+
version = "0.26.10"
|
3883
3885
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3884
|
-
checksum = "
|
3886
|
+
checksum = "37493cadf42a2a939ed404698ded7fb378bf301b5011f973361779a3a74f8c93"
|
3885
3887
|
dependencies = [
|
3886
3888
|
"rustls-pki-types",
|
3887
3889
|
]
|
@@ -3972,7 +3974,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
|
|
3972
3974
|
dependencies = [
|
3973
3975
|
"proc-macro2",
|
3974
3976
|
"quote",
|
3975
|
-
"syn 2.0.
|
3977
|
+
"syn 2.0.101",
|
3976
3978
|
]
|
3977
3979
|
|
3978
3980
|
[[package]]
|
@@ -3983,7 +3985,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
|
|
3983
3985
|
dependencies = [
|
3984
3986
|
"proc-macro2",
|
3985
3987
|
"quote",
|
3986
|
-
"syn 2.0.
|
3988
|
+
"syn 2.0.101",
|
3987
3989
|
]
|
3988
3990
|
|
3989
3991
|
[[package]]
|
@@ -3994,7 +3996,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
|
|
3994
3996
|
dependencies = [
|
3995
3997
|
"proc-macro2",
|
3996
3998
|
"quote",
|
3997
|
-
"syn 2.0.
|
3999
|
+
"syn 2.0.101",
|
3998
4000
|
]
|
3999
4001
|
|
4000
4002
|
[[package]]
|
@@ -4005,7 +4007,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
|
|
4005
4007
|
dependencies = [
|
4006
4008
|
"proc-macro2",
|
4007
4009
|
"quote",
|
4008
|
-
"syn 2.0.
|
4010
|
+
"syn 2.0.101",
|
4009
4011
|
]
|
4010
4012
|
|
4011
4013
|
[[package]]
|
@@ -4341,7 +4343,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
|
|
4341
4343
|
dependencies = [
|
4342
4344
|
"proc-macro2",
|
4343
4345
|
"quote",
|
4344
|
-
"syn 2.0.
|
4346
|
+
"syn 2.0.101",
|
4345
4347
|
"synstructure",
|
4346
4348
|
]
|
4347
4349
|
|
@@ -4356,11 +4358,11 @@ dependencies = [
|
|
4356
4358
|
|
4357
4359
|
[[package]]
|
4358
4360
|
name = "zerocopy"
|
4359
|
-
version = "0.8.
|
4361
|
+
version = "0.8.25"
|
4360
4362
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4361
|
-
checksum = "
|
4363
|
+
checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
|
4362
4364
|
dependencies = [
|
4363
|
-
"zerocopy-derive 0.8.
|
4365
|
+
"zerocopy-derive 0.8.25",
|
4364
4366
|
]
|
4365
4367
|
|
4366
4368
|
[[package]]
|
@@ -4371,18 +4373,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
|
4371
4373
|
dependencies = [
|
4372
4374
|
"proc-macro2",
|
4373
4375
|
"quote",
|
4374
|
-
"syn 2.0.
|
4376
|
+
"syn 2.0.101",
|
4375
4377
|
]
|
4376
4378
|
|
4377
4379
|
[[package]]
|
4378
4380
|
name = "zerocopy-derive"
|
4379
|
-
version = "0.8.
|
4381
|
+
version = "0.8.25"
|
4380
4382
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4381
|
-
checksum = "
|
4383
|
+
checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
|
4382
4384
|
dependencies = [
|
4383
4385
|
"proc-macro2",
|
4384
4386
|
"quote",
|
4385
|
-
"syn 2.0.
|
4387
|
+
"syn 2.0.101",
|
4386
4388
|
]
|
4387
4389
|
|
4388
4390
|
[[package]]
|
@@ -4402,7 +4404,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
|
4402
4404
|
dependencies = [
|
4403
4405
|
"proc-macro2",
|
4404
4406
|
"quote",
|
4405
|
-
"syn 2.0.
|
4407
|
+
"syn 2.0.101",
|
4406
4408
|
"synstructure",
|
4407
4409
|
]
|
4408
4410
|
|
@@ -4431,7 +4433,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
|
|
4431
4433
|
dependencies = [
|
4432
4434
|
"proc-macro2",
|
4433
4435
|
"quote",
|
4434
|
-
"syn 2.0.
|
4436
|
+
"syn 2.0.101",
|
4435
4437
|
]
|
4436
4438
|
|
4437
4439
|
[[package]]
|
data/crates/itsi_acme/Cargo.toml
CHANGED
@@ -111,7 +111,7 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
|
|
111
111
|
|
112
112
|
[[package]]
|
113
113
|
name = "atty"
|
114
|
-
version = "0.2.
|
114
|
+
version = "0.2.16"
|
115
115
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
116
116
|
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
117
117
|
dependencies = [
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[package]
|
2
2
|
name = "itsi-server"
|
3
|
-
version = "0.2.
|
3
|
+
version = "0.2.17"
|
4
4
|
edition = "2021"
|
5
5
|
authors = ["Wouter Coppieters <wc@pico.net.nz>"]
|
6
6
|
license = "MIT"
|
@@ -90,3 +90,5 @@ argon2 = "0.5.3"
|
|
90
90
|
core_affinity = "0.8.3"
|
91
91
|
memchr = "2.7.4"
|
92
92
|
quick_cache = "0.6.13"
|
93
|
+
smallvec = "1.15.0"
|
94
|
+
futures-util = "0.3.31"
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#![deny(unused_crate_dependencies)]
|
2
|
+
|
2
3
|
pub mod default_responses;
|
3
4
|
pub mod env;
|
4
5
|
pub mod prelude;
|
@@ -57,6 +58,7 @@ fn init(ruby: &Ruby) -> Result<()> {
|
|
57
58
|
request.define_method("rack_protocol", method!(ItsiHttpRequest::rack_protocol, 0))?;
|
58
59
|
request.define_method("host", method!(ItsiHttpRequest::host, 0))?;
|
59
60
|
request.define_method("headers", method!(ItsiHttpRequest::headers, 0))?;
|
61
|
+
request.define_method("each_header", method!(ItsiHttpRequest::each_header, 0))?;
|
60
62
|
request.define_method("uri", method!(ItsiHttpRequest::uri, 0))?;
|
61
63
|
request.define_method("header", method!(ItsiHttpRequest::header, 1))?;
|
62
64
|
request.define_method("[]", method!(ItsiHttpRequest::header, 1))?;
|
@@ -70,6 +72,7 @@ fn init(ruby: &Ruby) -> Result<()> {
|
|
70
72
|
request.define_method("url_encoded?", method!(ItsiHttpRequest::is_url_encoded, 0))?;
|
71
73
|
request.define_method("multipart?", method!(ItsiHttpRequest::is_multipart, 0))?;
|
72
74
|
request.define_method("url_params", method!(ItsiHttpRequest::url_params, 0))?;
|
75
|
+
request.define_method("server_error", method!(ItsiHttpRequest::error, 1))?;
|
73
76
|
|
74
77
|
let body_proxy = ruby.get_inner(&ITSI_BODY_PROXY);
|
75
78
|
body_proxy.define_method("gets", method!(ItsiBodyProxy::gets, 0))?;
|
@@ -79,6 +82,10 @@ fn init(ruby: &Ruby) -> Result<()> {
|
|
79
82
|
|
80
83
|
let response = ruby.get_inner(&ITSI_RESPONSE);
|
81
84
|
response.define_method("[]=", method!(ItsiHttpResponse::add_header, 2))?;
|
85
|
+
response.define_method(
|
86
|
+
"reserve_headers",
|
87
|
+
method!(ItsiHttpResponse::reserve_headers, 1),
|
88
|
+
)?;
|
82
89
|
response.define_method("add_header", method!(ItsiHttpResponse::add_header, 2))?;
|
83
90
|
response.define_method("add_headers", method!(ItsiHttpResponse::add_headers, 1))?;
|
84
91
|
response.define_method("status=", method!(ItsiHttpResponse::set_status, 1))?;
|
@@ -86,7 +93,6 @@ fn init(ruby: &Ruby) -> Result<()> {
|
|
86
93
|
response.define_method("<<", method!(ItsiHttpResponse::send_frame, 1))?;
|
87
94
|
response.define_method("write", method!(ItsiHttpResponse::send_frame, 1))?;
|
88
95
|
response.define_method("read", method!(ItsiHttpResponse::recv_frame, 0))?;
|
89
|
-
response.define_method("flush", method!(ItsiHttpResponse::flush, 0))?;
|
90
96
|
response.define_method("closed?", method!(ItsiHttpResponse::is_closed, 0))?;
|
91
97
|
response.define_method(
|
92
98
|
"send_and_close",
|