itsi 0.2.15 → 0.2.16
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 +10 -0
- data/Cargo.lock +74 -74
- 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 +1 -1
- data/crates/itsi_server/extconf.rb +3 -1
- data/crates/itsi_server/src/lib.rs +1 -0
- data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +2 -2
- data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +9 -11
- data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +6 -1
- data/crates/itsi_server/src/server/binds/listener.rs +4 -1
- data/crates/itsi_server/src/server/http_message_types.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +32 -34
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +3 -4
- data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +23 -38
- 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 +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
- data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +12 -3
- data/crates/itsi_server/src/server/process_worker.rs +2 -1
- data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +96 -0
- data/crates/itsi_server/src/server/serve_strategy/mod.rs +1 -0
- data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +80 -136
- data/crates/itsi_server/src/server/thread_worker.rs +10 -3
- data/crates/itsi_server/src/services/itsi_http_service.rs +26 -21
- 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 +7 -13
- data/docs/content/features/_index.md +1 -1
- 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 +73 -73
- data/gems/server/lib/itsi/server/config/config_helpers.rb +1 -2
- 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/options/listen_backlog.rb +1 -1
- 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.rb +24 -25
- data/gems/server/lib/itsi/server/route_tester.rb +1 -1
- data/gems/server/lib/itsi/server/version.rb +1 -1
- data/gems/server/test/middleware/etag.rb +3 -3
- data/gems/server/test/options/ruby_thread_request_backlog_size.rb +2 -3
- data/lib/itsi/version.rb +1 -1
- data/tasks.txt +8 -7
- metadata +8 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d26838019381b65a1bec973d72b93cb32a377dba836951cb3e43fed1f7eb3737
|
4
|
+
data.tar.gz: 1e95bfc6b703baca4813252c6cbd6dd5838d7690db71e4d49fdb3988ffc5058c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f666599892fb63930aaee662395015f46d91e15bbc054878d759de084938d7402de8c2d7b9644b554dfe779b346d99f4d6e6b0114fa3296f1dc21b49b375ff99
|
7
|
+
data.tar.gz: aee5a3016644f6a97c02d0445b14e984a9af751c7f7bac2e437c15622f3a45300e5a69d305354f601260ed45585a88fdde37c66a60fa34d61d1645ae72e862c6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
## [0.2.16] - 2025-05-02
|
2
|
+
- Optimized static error responses
|
3
|
+
- Optimized rate limit middleware
|
4
|
+
- Made default static serve command use more efficient defaults
|
5
|
+
- Reduced cloning in main accept-loop
|
6
|
+
- Fixed ability to set nodelay to false.
|
7
|
+
- Added send_buffer_size option.
|
8
|
+
- Worker pinning accepts ruby workers too
|
9
|
+
- Fixed ordering incomaptibility in etag forwarding from static file server
|
10
|
+
|
1
11
|
## [0.2.14] - 2025-04-30
|
2
12
|
- Support new-line separated headers for Rack 2 backward compatibility.
|
3
13
|
|
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.16"
|
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.16"
|
1666
1666
|
dependencies = [
|
1667
1667
|
"argon2",
|
1668
1668
|
"async-channel",
|
@@ -1950,7 +1950,7 @@ checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
|
|
1950
1950
|
dependencies = [
|
1951
1951
|
"proc-macro2",
|
1952
1952
|
"quote",
|
1953
|
-
"syn 2.0.
|
1953
|
+
"syn 2.0.101",
|
1954
1954
|
]
|
1955
1955
|
|
1956
1956
|
[[package]]
|
@@ -2298,7 +2298,7 @@ dependencies = [
|
|
2298
2298
|
"phf_shared",
|
2299
2299
|
"proc-macro2",
|
2300
2300
|
"quote",
|
2301
|
-
"syn 2.0.
|
2301
|
+
"syn 2.0.101",
|
2302
2302
|
]
|
2303
2303
|
|
2304
2304
|
[[package]]
|
@@ -2327,7 +2327,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
|
|
2327
2327
|
dependencies = [
|
2328
2328
|
"proc-macro2",
|
2329
2329
|
"quote",
|
2330
|
-
"syn 2.0.
|
2330
|
+
"syn 2.0.101",
|
2331
2331
|
]
|
2332
2332
|
|
2333
2333
|
[[package]]
|
@@ -2360,7 +2360,7 @@ version = "0.2.21"
|
|
2360
2360
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2361
2361
|
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
2362
2362
|
dependencies = [
|
2363
|
-
"zerocopy 0.8.
|
2363
|
+
"zerocopy 0.8.25",
|
2364
2364
|
]
|
2365
2365
|
|
2366
2366
|
[[package]]
|
@@ -2370,7 +2370,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2370
2370
|
checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6"
|
2371
2371
|
dependencies = [
|
2372
2372
|
"proc-macro2",
|
2373
|
-
"syn 2.0.
|
2373
|
+
"syn 2.0.101",
|
2374
2374
|
]
|
2375
2375
|
|
2376
2376
|
[[package]]
|
@@ -2440,9 +2440,9 @@ dependencies = [
|
|
2440
2440
|
|
2441
2441
|
[[package]]
|
2442
2442
|
name = "quinn-proto"
|
2443
|
-
version = "0.11.
|
2443
|
+
version = "0.11.11"
|
2444
2444
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2445
|
-
checksum = "
|
2445
|
+
checksum = "bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b"
|
2446
2446
|
dependencies = [
|
2447
2447
|
"bytes",
|
2448
2448
|
"getrandom 0.3.2",
|
@@ -2460,9 +2460,9 @@ dependencies = [
|
|
2460
2460
|
|
2461
2461
|
[[package]]
|
2462
2462
|
name = "quinn-udp"
|
2463
|
-
version = "0.5.
|
2463
|
+
version = "0.5.12"
|
2464
2464
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2465
|
-
checksum = "
|
2465
|
+
checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"
|
2466
2466
|
dependencies = [
|
2467
2467
|
"cfg_aliases",
|
2468
2468
|
"libc",
|
@@ -2545,7 +2545,7 @@ version = "0.6.4"
|
|
2545
2545
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2546
2546
|
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
2547
2547
|
dependencies = [
|
2548
|
-
"getrandom 0.2.
|
2548
|
+
"getrandom 0.2.16",
|
2549
2549
|
]
|
2550
2550
|
|
2551
2551
|
[[package]]
|
@@ -2598,7 +2598,7 @@ dependencies = [
|
|
2598
2598
|
"quote",
|
2599
2599
|
"regex",
|
2600
2600
|
"shell-words",
|
2601
|
-
"syn 2.0.
|
2601
|
+
"syn 2.0.101",
|
2602
2602
|
]
|
2603
2603
|
|
2604
2604
|
[[package]]
|
@@ -2664,7 +2664,7 @@ version = "0.5.0"
|
|
2664
2664
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2665
2665
|
checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
|
2666
2666
|
dependencies = [
|
2667
|
-
"getrandom 0.2.
|
2667
|
+
"getrandom 0.2.16",
|
2668
2668
|
"libredox",
|
2669
2669
|
"thiserror 2.0.12",
|
2670
2670
|
]
|
@@ -2766,7 +2766,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
|
|
2766
2766
|
dependencies = [
|
2767
2767
|
"cc",
|
2768
2768
|
"cfg-if",
|
2769
|
-
"getrandom 0.2.
|
2769
|
+
"getrandom 0.2.16",
|
2770
2770
|
"libc",
|
2771
2771
|
"untrusted",
|
2772
2772
|
"windows-sys 0.52.0",
|
@@ -2814,9 +2814,9 @@ dependencies = [
|
|
2814
2814
|
|
2815
2815
|
[[package]]
|
2816
2816
|
name = "rustix"
|
2817
|
-
version = "1.0.
|
2817
|
+
version = "1.0.7"
|
2818
2818
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2819
|
-
checksum = "
|
2819
|
+
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
2820
2820
|
dependencies = [
|
2821
2821
|
"bitflags 2.9.0",
|
2822
2822
|
"errno",
|
@@ -2980,7 +2980,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
|
2980
2980
|
dependencies = [
|
2981
2981
|
"proc-macro2",
|
2982
2982
|
"quote",
|
2983
|
-
"syn 2.0.
|
2983
|
+
"syn 2.0.101",
|
2984
2984
|
]
|
2985
2985
|
|
2986
2986
|
[[package]]
|
@@ -3059,9 +3059,9 @@ checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
|
|
3059
3059
|
|
3060
3060
|
[[package]]
|
3061
3061
|
name = "sha2"
|
3062
|
-
version = "0.10.
|
3062
|
+
version = "0.10.9"
|
3063
3063
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3064
|
-
checksum = "
|
3064
|
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
3065
3065
|
dependencies = [
|
3066
3066
|
"cfg-if",
|
3067
3067
|
"cpufeatures",
|
@@ -3220,9 +3220,9 @@ dependencies = [
|
|
3220
3220
|
|
3221
3221
|
[[package]]
|
3222
3222
|
name = "syn"
|
3223
|
-
version = "2.0.
|
3223
|
+
version = "2.0.101"
|
3224
3224
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3225
|
-
checksum = "
|
3225
|
+
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
3226
3226
|
dependencies = [
|
3227
3227
|
"proc-macro2",
|
3228
3228
|
"quote",
|
@@ -3240,13 +3240,13 @@ dependencies = [
|
|
3240
3240
|
|
3241
3241
|
[[package]]
|
3242
3242
|
name = "synstructure"
|
3243
|
-
version = "0.13.
|
3243
|
+
version = "0.13.2"
|
3244
3244
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3245
|
-
checksum = "
|
3245
|
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
3246
3246
|
dependencies = [
|
3247
3247
|
"proc-macro2",
|
3248
3248
|
"quote",
|
3249
|
-
"syn 2.0.
|
3249
|
+
"syn 2.0.101",
|
3250
3250
|
]
|
3251
3251
|
|
3252
3252
|
[[package]]
|
@@ -3278,7 +3278,7 @@ dependencies = [
|
|
3278
3278
|
"fastrand",
|
3279
3279
|
"getrandom 0.3.2",
|
3280
3280
|
"once_cell",
|
3281
|
-
"rustix 1.0.
|
3281
|
+
"rustix 1.0.7",
|
3282
3282
|
"windows-sys 0.59.0",
|
3283
3283
|
]
|
3284
3284
|
|
@@ -3317,7 +3317,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
3317
3317
|
dependencies = [
|
3318
3318
|
"proc-macro2",
|
3319
3319
|
"quote",
|
3320
|
-
"syn 2.0.
|
3320
|
+
"syn 2.0.101",
|
3321
3321
|
]
|
3322
3322
|
|
3323
3323
|
[[package]]
|
@@ -3328,7 +3328,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
|
3328
3328
|
dependencies = [
|
3329
3329
|
"proc-macro2",
|
3330
3330
|
"quote",
|
3331
|
-
"syn 2.0.
|
3331
|
+
"syn 2.0.101",
|
3332
3332
|
]
|
3333
3333
|
|
3334
3334
|
[[package]]
|
@@ -3425,7 +3425,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
|
3425
3425
|
dependencies = [
|
3426
3426
|
"proc-macro2",
|
3427
3427
|
"quote",
|
3428
|
-
"syn 2.0.
|
3428
|
+
"syn 2.0.101",
|
3429
3429
|
]
|
3430
3430
|
|
3431
3431
|
[[package]]
|
@@ -3463,9 +3463,9 @@ dependencies = [
|
|
3463
3463
|
|
3464
3464
|
[[package]]
|
3465
3465
|
name = "tokio-util"
|
3466
|
-
version = "0.7.
|
3466
|
+
version = "0.7.15"
|
3467
3467
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3468
|
-
checksum = "
|
3468
|
+
checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
|
3469
3469
|
dependencies = [
|
3470
3470
|
"bytes",
|
3471
3471
|
"futures-core",
|
@@ -3535,7 +3535,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
|
|
3535
3535
|
dependencies = [
|
3536
3536
|
"proc-macro2",
|
3537
3537
|
"quote",
|
3538
|
-
"syn 2.0.
|
3538
|
+
"syn 2.0.101",
|
3539
3539
|
]
|
3540
3540
|
|
3541
3541
|
[[package]]
|
@@ -3795,7 +3795,7 @@ dependencies = [
|
|
3795
3795
|
"log",
|
3796
3796
|
"proc-macro2",
|
3797
3797
|
"quote",
|
3798
|
-
"syn 2.0.
|
3798
|
+
"syn 2.0.101",
|
3799
3799
|
"wasm-bindgen-shared",
|
3800
3800
|
]
|
3801
3801
|
|
@@ -3830,7 +3830,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
|
|
3830
3830
|
dependencies = [
|
3831
3831
|
"proc-macro2",
|
3832
3832
|
"quote",
|
3833
|
-
"syn 2.0.
|
3833
|
+
"syn 2.0.101",
|
3834
3834
|
"wasm-bindgen-backend",
|
3835
3835
|
"wasm-bindgen-shared",
|
3836
3836
|
]
|
@@ -3879,9 +3879,9 @@ dependencies = [
|
|
3879
3879
|
|
3880
3880
|
[[package]]
|
3881
3881
|
name = "webpki-roots"
|
3882
|
-
version = "0.26.
|
3882
|
+
version = "0.26.10"
|
3883
3883
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3884
|
-
checksum = "
|
3884
|
+
checksum = "37493cadf42a2a939ed404698ded7fb378bf301b5011f973361779a3a74f8c93"
|
3885
3885
|
dependencies = [
|
3886
3886
|
"rustls-pki-types",
|
3887
3887
|
]
|
@@ -3972,7 +3972,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
|
|
3972
3972
|
dependencies = [
|
3973
3973
|
"proc-macro2",
|
3974
3974
|
"quote",
|
3975
|
-
"syn 2.0.
|
3975
|
+
"syn 2.0.101",
|
3976
3976
|
]
|
3977
3977
|
|
3978
3978
|
[[package]]
|
@@ -3983,7 +3983,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
|
|
3983
3983
|
dependencies = [
|
3984
3984
|
"proc-macro2",
|
3985
3985
|
"quote",
|
3986
|
-
"syn 2.0.
|
3986
|
+
"syn 2.0.101",
|
3987
3987
|
]
|
3988
3988
|
|
3989
3989
|
[[package]]
|
@@ -3994,7 +3994,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
|
|
3994
3994
|
dependencies = [
|
3995
3995
|
"proc-macro2",
|
3996
3996
|
"quote",
|
3997
|
-
"syn 2.0.
|
3997
|
+
"syn 2.0.101",
|
3998
3998
|
]
|
3999
3999
|
|
4000
4000
|
[[package]]
|
@@ -4005,7 +4005,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
|
|
4005
4005
|
dependencies = [
|
4006
4006
|
"proc-macro2",
|
4007
4007
|
"quote",
|
4008
|
-
"syn 2.0.
|
4008
|
+
"syn 2.0.101",
|
4009
4009
|
]
|
4010
4010
|
|
4011
4011
|
[[package]]
|
@@ -4341,7 +4341,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
|
|
4341
4341
|
dependencies = [
|
4342
4342
|
"proc-macro2",
|
4343
4343
|
"quote",
|
4344
|
-
"syn 2.0.
|
4344
|
+
"syn 2.0.101",
|
4345
4345
|
"synstructure",
|
4346
4346
|
]
|
4347
4347
|
|
@@ -4356,11 +4356,11 @@ dependencies = [
|
|
4356
4356
|
|
4357
4357
|
[[package]]
|
4358
4358
|
name = "zerocopy"
|
4359
|
-
version = "0.8.
|
4359
|
+
version = "0.8.25"
|
4360
4360
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4361
|
-
checksum = "
|
4361
|
+
checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
|
4362
4362
|
dependencies = [
|
4363
|
-
"zerocopy-derive 0.8.
|
4363
|
+
"zerocopy-derive 0.8.25",
|
4364
4364
|
]
|
4365
4365
|
|
4366
4366
|
[[package]]
|
@@ -4371,18 +4371,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
|
4371
4371
|
dependencies = [
|
4372
4372
|
"proc-macro2",
|
4373
4373
|
"quote",
|
4374
|
-
"syn 2.0.
|
4374
|
+
"syn 2.0.101",
|
4375
4375
|
]
|
4376
4376
|
|
4377
4377
|
[[package]]
|
4378
4378
|
name = "zerocopy-derive"
|
4379
|
-
version = "0.8.
|
4379
|
+
version = "0.8.25"
|
4380
4380
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4381
|
-
checksum = "
|
4381
|
+
checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
|
4382
4382
|
dependencies = [
|
4383
4383
|
"proc-macro2",
|
4384
4384
|
"quote",
|
4385
|
-
"syn 2.0.
|
4385
|
+
"syn 2.0.101",
|
4386
4386
|
]
|
4387
4387
|
|
4388
4388
|
[[package]]
|
@@ -4402,7 +4402,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
|
4402
4402
|
dependencies = [
|
4403
4403
|
"proc-macro2",
|
4404
4404
|
"quote",
|
4405
|
-
"syn 2.0.
|
4405
|
+
"syn 2.0.101",
|
4406
4406
|
"synstructure",
|
4407
4407
|
]
|
4408
4408
|
|
@@ -4431,7 +4431,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
|
|
4431
4431
|
dependencies = [
|
4432
4432
|
"proc-macro2",
|
4433
4433
|
"quote",
|
4434
|
-
"syn 2.0.
|
4434
|
+
"syn 2.0.101",
|
4435
4435
|
]
|
4436
4436
|
|
4437
4437
|
[[package]]
|
@@ -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 = [
|
@@ -126,12 +126,12 @@ impl ItsiGrpcCall {
|
|
126
126
|
nonblocking: bool,
|
127
127
|
) -> itsi_error::Result<HttpResponse> {
|
128
128
|
let (request, mut receiver) = ItsiGrpcCall::new(hyper_request, context).await;
|
129
|
-
let shutdown_channel = context.service.
|
129
|
+
let shutdown_channel = context.service.shutdown_receiver.clone();
|
130
130
|
let response_stream = request.stream.clone();
|
131
131
|
let sender = if nonblocking {
|
132
132
|
&context.nonblocking_sender
|
133
133
|
} else {
|
134
|
-
&context.
|
134
|
+
&context.job_sender
|
135
135
|
};
|
136
136
|
match sender
|
137
137
|
.send(RequestJob::ProcessGrpcRequest(request, app))
|
@@ -180,24 +180,22 @@ impl ItsiHttpRequest {
|
|
180
180
|
) -> itsi_error::Result<HttpResponse> {
|
181
181
|
match ItsiHttpRequest::new(hyper_request, context, script_name).await {
|
182
182
|
Ok((request, mut receiver)) => {
|
183
|
-
let shutdown_channel = context.service.
|
183
|
+
let shutdown_channel = context.service.shutdown_receiver.clone();
|
184
184
|
let response = request.response.clone();
|
185
185
|
let sender = if nonblocking {
|
186
186
|
&context.nonblocking_sender
|
187
187
|
} else {
|
188
|
-
&context.
|
188
|
+
&context.job_sender
|
189
189
|
};
|
190
190
|
match sender.try_send(RequestJob::ProcessHttpRequest(request, app)) {
|
191
191
|
Err(err) => match err {
|
192
|
-
async_channel::TrySendError::Full(_) =>
|
193
|
-
|
194
|
-
|
195
|
-
.await)
|
196
|
-
}
|
192
|
+
async_channel::TrySendError::Full(_) => Ok(SERVICE_UNAVAILABLE_RESPONSE
|
193
|
+
.to_http_response(context.accept)
|
194
|
+
.await),
|
197
195
|
async_channel::TrySendError::Closed(err) => {
|
198
196
|
error!("Error occurred: {:?}", err);
|
199
197
|
Ok(INTERNAL_SERVER_ERROR_RESPONSE
|
200
|
-
.to_http_response(context.accept
|
198
|
+
.to_http_response(context.accept)
|
201
199
|
.await)
|
202
200
|
}
|
203
201
|
},
|
@@ -309,7 +307,7 @@ impl ItsiHttpRequest {
|
|
309
307
|
.parts
|
310
308
|
.uri
|
311
309
|
.host()
|
312
|
-
.unwrap_or_else(|| &self.context.
|
310
|
+
.unwrap_or_else(|| &self.context.listener_info.host))
|
313
311
|
}
|
314
312
|
|
315
313
|
pub(crate) fn scheme(&self) -> MagnusResult<&str> {
|
@@ -318,7 +316,7 @@ impl ItsiHttpRequest {
|
|
318
316
|
.uri
|
319
317
|
.scheme()
|
320
318
|
.map(|scheme| scheme.as_str())
|
321
|
-
.unwrap_or_else(|| &self.context.
|
319
|
+
.unwrap_or_else(|| &self.context.listener_info.scheme))
|
322
320
|
}
|
323
321
|
|
324
322
|
pub(crate) fn headers(&self) -> MagnusResult<Vec<(&str, &str)>> {
|
@@ -354,7 +352,7 @@ impl ItsiHttpRequest {
|
|
354
352
|
.parts
|
355
353
|
.uri
|
356
354
|
.port_u16()
|
357
|
-
.unwrap_or(self.context.
|
355
|
+
.unwrap_or(self.context.listener_info.port))
|
358
356
|
}
|
359
357
|
|
360
358
|
pub(crate) fn body(&self) -> MagnusResult<Option<Value>> {
|