itsi-server 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/Cargo.lock +73 -73
- data/ext/itsi_scheduler/Cargo.toml +1 -1
- data/ext/itsi_server/Cargo.lock +1 -1
- data/ext/itsi_server/Cargo.toml +1 -1
- data/ext/itsi_server/extconf.rb +3 -1
- data/ext/itsi_server/src/lib.rs +1 -0
- data/ext/itsi_server/src/ruby_types/itsi_grpc_call.rs +2 -2
- data/ext/itsi_server/src/ruby_types/itsi_http_request.rs +9 -11
- data/ext/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +6 -1
- data/ext/itsi_server/src/server/binds/listener.rs +4 -1
- data/ext/itsi_server/src/server/http_message_types.rs +1 -1
- data/ext/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +32 -34
- data/ext/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +3 -4
- data/ext/itsi_server/src/server/middleware_stack/middlewares/etag.rs +23 -38
- data/ext/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +65 -14
- data/ext/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +1 -1
- data/ext/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +1 -1
- data/ext/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
- data/ext/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
- data/ext/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +12 -3
- data/ext/itsi_server/src/server/process_worker.rs +2 -1
- data/ext/itsi_server/src/server/serve_strategy/acceptor.rs +96 -0
- data/ext/itsi_server/src/server/serve_strategy/mod.rs +1 -0
- data/ext/itsi_server/src/server/serve_strategy/single_mode.rs +80 -136
- data/ext/itsi_server/src/server/thread_worker.rs +10 -3
- data/ext/itsi_server/src/services/itsi_http_service.rs +26 -21
- data/ext/itsi_server/src/services/mime_types.rs +185 -183
- data/ext/itsi_server/src/services/rate_limiter.rs +16 -34
- data/ext/itsi_server/src/services/static_file_server.rs +7 -13
- data/lib/itsi/server/config/config_helpers.rb +1 -2
- data/lib/itsi/server/config/middleware/etag.md +3 -7
- data/lib/itsi/server/config/middleware/etag.rb +2 -4
- data/lib/itsi/server/config/options/listen_backlog.rb +1 -1
- data/lib/itsi/server/config/options/send_buffer_size.md +15 -0
- data/lib/itsi/server/config/options/send_buffer_size.rb +19 -0
- data/lib/itsi/server/config.rb +24 -25
- data/lib/itsi/server/route_tester.rb +1 -1
- data/lib/itsi/server/version.rb +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dacff69074fbea9c3b26f533549c9f1b8cf2bb369f8ef15346180fbfac81b4e6
|
4
|
+
data.tar.gz: cd0d38e8ac1be9114281d7a28ab1ea5d6d9394dff87b7a17c7fb259eee0a1dbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5464271b5aa30ba1c02addbd365fc1a7891b357dbb2ef4c02f5f9b26048714c77011ba60a2a82abc2da843bb3e7dbe253105b4ae0e49eeea12b028a2cf6f0cef
|
7
|
+
data.tar.gz: 88ecd2101bfc629d0d198c14877f9dfdc6cb104a6978712f2f16c3dfb3cc00fa4aeb4cf4e164884af90e175c879b501565c973549c8189e9e5a5a991df1e87bb
|
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-server"
|
1647
|
-
version = "0.2.
|
1647
|
+
version = "0.2.16"
|
1648
1648
|
dependencies = [
|
1649
1649
|
"argon2",
|
1650
1650
|
"async-channel",
|
@@ -1923,7 +1923,7 @@ checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
|
|
1923
1923
|
dependencies = [
|
1924
1924
|
"proc-macro2",
|
1925
1925
|
"quote",
|
1926
|
-
"syn 2.0.
|
1926
|
+
"syn 2.0.101",
|
1927
1927
|
]
|
1928
1928
|
|
1929
1929
|
[[package]]
|
@@ -2271,7 +2271,7 @@ dependencies = [
|
|
2271
2271
|
"phf_shared",
|
2272
2272
|
"proc-macro2",
|
2273
2273
|
"quote",
|
2274
|
-
"syn 2.0.
|
2274
|
+
"syn 2.0.101",
|
2275
2275
|
]
|
2276
2276
|
|
2277
2277
|
[[package]]
|
@@ -2300,7 +2300,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861"
|
|
2300
2300
|
dependencies = [
|
2301
2301
|
"proc-macro2",
|
2302
2302
|
"quote",
|
2303
|
-
"syn 2.0.
|
2303
|
+
"syn 2.0.101",
|
2304
2304
|
]
|
2305
2305
|
|
2306
2306
|
[[package]]
|
@@ -2333,7 +2333,7 @@ version = "0.2.21"
|
|
2333
2333
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2334
2334
|
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
|
2335
2335
|
dependencies = [
|
2336
|
-
"zerocopy 0.8.
|
2336
|
+
"zerocopy 0.8.25",
|
2337
2337
|
]
|
2338
2338
|
|
2339
2339
|
[[package]]
|
@@ -2343,7 +2343,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2343
2343
|
checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6"
|
2344
2344
|
dependencies = [
|
2345
2345
|
"proc-macro2",
|
2346
|
-
"syn 2.0.
|
2346
|
+
"syn 2.0.101",
|
2347
2347
|
]
|
2348
2348
|
|
2349
2349
|
[[package]]
|
@@ -2413,9 +2413,9 @@ dependencies = [
|
|
2413
2413
|
|
2414
2414
|
[[package]]
|
2415
2415
|
name = "quinn-proto"
|
2416
|
-
version = "0.11.
|
2416
|
+
version = "0.11.11"
|
2417
2417
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2418
|
-
checksum = "
|
2418
|
+
checksum = "bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b"
|
2419
2419
|
dependencies = [
|
2420
2420
|
"bytes",
|
2421
2421
|
"getrandom 0.3.2",
|
@@ -2433,9 +2433,9 @@ dependencies = [
|
|
2433
2433
|
|
2434
2434
|
[[package]]
|
2435
2435
|
name = "quinn-udp"
|
2436
|
-
version = "0.5.
|
2436
|
+
version = "0.5.12"
|
2437
2437
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2438
|
-
checksum = "
|
2438
|
+
checksum = "ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842"
|
2439
2439
|
dependencies = [
|
2440
2440
|
"cfg_aliases",
|
2441
2441
|
"libc",
|
@@ -2518,7 +2518,7 @@ version = "0.6.4"
|
|
2518
2518
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2519
2519
|
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
2520
2520
|
dependencies = [
|
2521
|
-
"getrandom 0.2.
|
2521
|
+
"getrandom 0.2.16",
|
2522
2522
|
]
|
2523
2523
|
|
2524
2524
|
[[package]]
|
@@ -2571,7 +2571,7 @@ dependencies = [
|
|
2571
2571
|
"quote",
|
2572
2572
|
"regex",
|
2573
2573
|
"shell-words",
|
2574
|
-
"syn 2.0.
|
2574
|
+
"syn 2.0.101",
|
2575
2575
|
]
|
2576
2576
|
|
2577
2577
|
[[package]]
|
@@ -2637,7 +2637,7 @@ version = "0.5.0"
|
|
2637
2637
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2638
2638
|
checksum = "dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b"
|
2639
2639
|
dependencies = [
|
2640
|
-
"getrandom 0.2.
|
2640
|
+
"getrandom 0.2.16",
|
2641
2641
|
"libredox",
|
2642
2642
|
"thiserror 2.0.12",
|
2643
2643
|
]
|
@@ -2739,7 +2739,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
|
|
2739
2739
|
dependencies = [
|
2740
2740
|
"cc",
|
2741
2741
|
"cfg-if",
|
2742
|
-
"getrandom 0.2.
|
2742
|
+
"getrandom 0.2.16",
|
2743
2743
|
"libc",
|
2744
2744
|
"untrusted",
|
2745
2745
|
"windows-sys 0.52.0",
|
@@ -2787,9 +2787,9 @@ dependencies = [
|
|
2787
2787
|
|
2788
2788
|
[[package]]
|
2789
2789
|
name = "rustix"
|
2790
|
-
version = "1.0.
|
2790
|
+
version = "1.0.7"
|
2791
2791
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
2792
|
-
checksum = "
|
2792
|
+
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266"
|
2793
2793
|
dependencies = [
|
2794
2794
|
"bitflags 2.9.0",
|
2795
2795
|
"errno",
|
@@ -2953,7 +2953,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
|
2953
2953
|
dependencies = [
|
2954
2954
|
"proc-macro2",
|
2955
2955
|
"quote",
|
2956
|
-
"syn 2.0.
|
2956
|
+
"syn 2.0.101",
|
2957
2957
|
]
|
2958
2958
|
|
2959
2959
|
[[package]]
|
@@ -3032,9 +3032,9 @@ checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
|
|
3032
3032
|
|
3033
3033
|
[[package]]
|
3034
3034
|
name = "sha2"
|
3035
|
-
version = "0.10.
|
3035
|
+
version = "0.10.9"
|
3036
3036
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3037
|
-
checksum = "
|
3037
|
+
checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
|
3038
3038
|
dependencies = [
|
3039
3039
|
"cfg-if",
|
3040
3040
|
"cpufeatures",
|
@@ -3193,9 +3193,9 @@ dependencies = [
|
|
3193
3193
|
|
3194
3194
|
[[package]]
|
3195
3195
|
name = "syn"
|
3196
|
-
version = "2.0.
|
3196
|
+
version = "2.0.101"
|
3197
3197
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3198
|
-
checksum = "
|
3198
|
+
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
3199
3199
|
dependencies = [
|
3200
3200
|
"proc-macro2",
|
3201
3201
|
"quote",
|
@@ -3213,13 +3213,13 @@ dependencies = [
|
|
3213
3213
|
|
3214
3214
|
[[package]]
|
3215
3215
|
name = "synstructure"
|
3216
|
-
version = "0.13.
|
3216
|
+
version = "0.13.2"
|
3217
3217
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3218
|
-
checksum = "
|
3218
|
+
checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
3219
3219
|
dependencies = [
|
3220
3220
|
"proc-macro2",
|
3221
3221
|
"quote",
|
3222
|
-
"syn 2.0.
|
3222
|
+
"syn 2.0.101",
|
3223
3223
|
]
|
3224
3224
|
|
3225
3225
|
[[package]]
|
@@ -3251,7 +3251,7 @@ dependencies = [
|
|
3251
3251
|
"fastrand",
|
3252
3252
|
"getrandom 0.3.2",
|
3253
3253
|
"once_cell",
|
3254
|
-
"rustix 1.0.
|
3254
|
+
"rustix 1.0.7",
|
3255
3255
|
"windows-sys 0.59.0",
|
3256
3256
|
]
|
3257
3257
|
|
@@ -3290,7 +3290,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
3290
3290
|
dependencies = [
|
3291
3291
|
"proc-macro2",
|
3292
3292
|
"quote",
|
3293
|
-
"syn 2.0.
|
3293
|
+
"syn 2.0.101",
|
3294
3294
|
]
|
3295
3295
|
|
3296
3296
|
[[package]]
|
@@ -3301,7 +3301,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
|
3301
3301
|
dependencies = [
|
3302
3302
|
"proc-macro2",
|
3303
3303
|
"quote",
|
3304
|
-
"syn 2.0.
|
3304
|
+
"syn 2.0.101",
|
3305
3305
|
]
|
3306
3306
|
|
3307
3307
|
[[package]]
|
@@ -3398,7 +3398,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
|
|
3398
3398
|
dependencies = [
|
3399
3399
|
"proc-macro2",
|
3400
3400
|
"quote",
|
3401
|
-
"syn 2.0.
|
3401
|
+
"syn 2.0.101",
|
3402
3402
|
]
|
3403
3403
|
|
3404
3404
|
[[package]]
|
@@ -3436,9 +3436,9 @@ dependencies = [
|
|
3436
3436
|
|
3437
3437
|
[[package]]
|
3438
3438
|
name = "tokio-util"
|
3439
|
-
version = "0.7.
|
3439
|
+
version = "0.7.15"
|
3440
3440
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3441
|
-
checksum = "
|
3441
|
+
checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df"
|
3442
3442
|
dependencies = [
|
3443
3443
|
"bytes",
|
3444
3444
|
"futures-core",
|
@@ -3508,7 +3508,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
|
|
3508
3508
|
dependencies = [
|
3509
3509
|
"proc-macro2",
|
3510
3510
|
"quote",
|
3511
|
-
"syn 2.0.
|
3511
|
+
"syn 2.0.101",
|
3512
3512
|
]
|
3513
3513
|
|
3514
3514
|
[[package]]
|
@@ -3768,7 +3768,7 @@ dependencies = [
|
|
3768
3768
|
"log",
|
3769
3769
|
"proc-macro2",
|
3770
3770
|
"quote",
|
3771
|
-
"syn 2.0.
|
3771
|
+
"syn 2.0.101",
|
3772
3772
|
"wasm-bindgen-shared",
|
3773
3773
|
]
|
3774
3774
|
|
@@ -3803,7 +3803,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
|
|
3803
3803
|
dependencies = [
|
3804
3804
|
"proc-macro2",
|
3805
3805
|
"quote",
|
3806
|
-
"syn 2.0.
|
3806
|
+
"syn 2.0.101",
|
3807
3807
|
"wasm-bindgen-backend",
|
3808
3808
|
"wasm-bindgen-shared",
|
3809
3809
|
]
|
@@ -3852,9 +3852,9 @@ dependencies = [
|
|
3852
3852
|
|
3853
3853
|
[[package]]
|
3854
3854
|
name = "webpki-roots"
|
3855
|
-
version = "0.26.
|
3855
|
+
version = "0.26.10"
|
3856
3856
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
3857
|
-
checksum = "
|
3857
|
+
checksum = "37493cadf42a2a939ed404698ded7fb378bf301b5011f973361779a3a74f8c93"
|
3858
3858
|
dependencies = [
|
3859
3859
|
"rustls-pki-types",
|
3860
3860
|
]
|
@@ -3945,7 +3945,7 @@ checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
|
|
3945
3945
|
dependencies = [
|
3946
3946
|
"proc-macro2",
|
3947
3947
|
"quote",
|
3948
|
-
"syn 2.0.
|
3948
|
+
"syn 2.0.101",
|
3949
3949
|
]
|
3950
3950
|
|
3951
3951
|
[[package]]
|
@@ -3956,7 +3956,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
|
|
3956
3956
|
dependencies = [
|
3957
3957
|
"proc-macro2",
|
3958
3958
|
"quote",
|
3959
|
-
"syn 2.0.
|
3959
|
+
"syn 2.0.101",
|
3960
3960
|
]
|
3961
3961
|
|
3962
3962
|
[[package]]
|
@@ -3967,7 +3967,7 @@ checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
|
|
3967
3967
|
dependencies = [
|
3968
3968
|
"proc-macro2",
|
3969
3969
|
"quote",
|
3970
|
-
"syn 2.0.
|
3970
|
+
"syn 2.0.101",
|
3971
3971
|
]
|
3972
3972
|
|
3973
3973
|
[[package]]
|
@@ -3978,7 +3978,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
|
|
3978
3978
|
dependencies = [
|
3979
3979
|
"proc-macro2",
|
3980
3980
|
"quote",
|
3981
|
-
"syn 2.0.
|
3981
|
+
"syn 2.0.101",
|
3982
3982
|
]
|
3983
3983
|
|
3984
3984
|
[[package]]
|
@@ -4314,7 +4314,7 @@ checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154"
|
|
4314
4314
|
dependencies = [
|
4315
4315
|
"proc-macro2",
|
4316
4316
|
"quote",
|
4317
|
-
"syn 2.0.
|
4317
|
+
"syn 2.0.101",
|
4318
4318
|
"synstructure",
|
4319
4319
|
]
|
4320
4320
|
|
@@ -4329,11 +4329,11 @@ dependencies = [
|
|
4329
4329
|
|
4330
4330
|
[[package]]
|
4331
4331
|
name = "zerocopy"
|
4332
|
-
version = "0.8.
|
4332
|
+
version = "0.8.25"
|
4333
4333
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4334
|
-
checksum = "
|
4334
|
+
checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb"
|
4335
4335
|
dependencies = [
|
4336
|
-
"zerocopy-derive 0.8.
|
4336
|
+
"zerocopy-derive 0.8.25",
|
4337
4337
|
]
|
4338
4338
|
|
4339
4339
|
[[package]]
|
@@ -4344,18 +4344,18 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
|
4344
4344
|
dependencies = [
|
4345
4345
|
"proc-macro2",
|
4346
4346
|
"quote",
|
4347
|
-
"syn 2.0.
|
4347
|
+
"syn 2.0.101",
|
4348
4348
|
]
|
4349
4349
|
|
4350
4350
|
[[package]]
|
4351
4351
|
name = "zerocopy-derive"
|
4352
|
-
version = "0.8.
|
4352
|
+
version = "0.8.25"
|
4353
4353
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
4354
|
-
checksum = "
|
4354
|
+
checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef"
|
4355
4355
|
dependencies = [
|
4356
4356
|
"proc-macro2",
|
4357
4357
|
"quote",
|
4358
|
-
"syn 2.0.
|
4358
|
+
"syn 2.0.101",
|
4359
4359
|
]
|
4360
4360
|
|
4361
4361
|
[[package]]
|
@@ -4375,7 +4375,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
|
4375
4375
|
dependencies = [
|
4376
4376
|
"proc-macro2",
|
4377
4377
|
"quote",
|
4378
|
-
"syn 2.0.
|
4378
|
+
"syn 2.0.101",
|
4379
4379
|
"synstructure",
|
4380
4380
|
]
|
4381
4381
|
|
@@ -4404,7 +4404,7 @@ checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6"
|
|
4404
4404
|
dependencies = [
|
4405
4405
|
"proc-macro2",
|
4406
4406
|
"quote",
|
4407
|
-
"syn 2.0.
|
4407
|
+
"syn 2.0.101",
|
4408
4408
|
]
|
4409
4409
|
|
4410
4410
|
[[package]]
|
data/ext/itsi_server/Cargo.lock
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 = [
|
data/ext/itsi_server/Cargo.toml
CHANGED
data/ext/itsi_server/extconf.rb
CHANGED
data/ext/itsi_server/src/lib.rs
CHANGED
@@ -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>> {
|
@@ -82,7 +82,7 @@ pub struct ServerParams {
|
|
82
82
|
preexisting_listeners: Option<String>,
|
83
83
|
}
|
84
84
|
|
85
|
-
#[derive(Debug, Clone)]
|
85
|
+
#[derive(Debug, Clone, Copy)]
|
86
86
|
pub enum ItsiServerTokenPreference {
|
87
87
|
Version,
|
88
88
|
Name,
|
@@ -109,6 +109,7 @@ pub struct SocketOpts {
|
|
109
109
|
pub listen_backlog: usize,
|
110
110
|
pub nodelay: bool,
|
111
111
|
pub recv_buffer_size: usize,
|
112
|
+
pub send_buffer_size: usize,
|
112
113
|
}
|
113
114
|
|
114
115
|
impl ServerParams {
|
@@ -248,6 +249,9 @@ impl ServerParams {
|
|
248
249
|
let recv_buffer_size: usize = rb_param_hash
|
249
250
|
.fetch::<_, Option<usize>>("recv_buffer_size")?
|
250
251
|
.unwrap_or(262_144);
|
252
|
+
let send_buffer_size: usize = rb_param_hash
|
253
|
+
.fetch::<_, Option<usize>>("send_buffer_size")?
|
254
|
+
.unwrap_or(262_144);
|
251
255
|
|
252
256
|
if let Some(level) = log_level {
|
253
257
|
set_level(&level);
|
@@ -296,6 +300,7 @@ impl ServerParams {
|
|
296
300
|
listen_backlog,
|
297
301
|
nodelay,
|
298
302
|
recv_buffer_size,
|
303
|
+
send_buffer_size,
|
299
304
|
};
|
300
305
|
let preexisting_listeners = rb_param_hash.delete::<_, Option<String>>("listeners")?;
|
301
306
|
|