fix(get): validate fast path body before response commit (#2495)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com>
This commit is contained in:
houseme
2026-04-12 01:04:22 +08:00
committed by GitHub
parent c8c71e34b6
commit eb0dc24921
4 changed files with 308 additions and 219 deletions
Generated
+64 -50
View File
@@ -56,13 +56,13 @@ dependencies = [
[[package]]
name = "aes"
version = "0.9.0-rc.4"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04097e08a47d9ad181c2e1f4a5fabc9ae06ce8839a333ba9a949bcb0d31fd2a3"
checksum = "66bd29a732b644c0431c6140f370d097879203d79b80c94a6747ba0872adaef8"
dependencies = [
"cipher 0.5.1",
"cpubits",
"cpufeatures 0.2.17",
"cpufeatures 0.3.0",
]
[[package]]
@@ -72,7 +72,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e22c0c90bbe8d4f77c3ca9ddabe41a1f8382d6fc1f7cea89459d0f320371f972"
dependencies = [
"aead",
"aes 0.9.0-rc.4",
"aes 0.9.0",
"cipher 0.5.1",
"ctr",
"ghash",
@@ -410,7 +410,7 @@ dependencies = [
"arrow-schema",
"chrono",
"half",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itoa",
"lexical-core",
"memchr",
@@ -1425,9 +1425,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "cc"
version = "1.2.59"
version = "1.2.60"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7a4d3ec6524d28a329fc53654bbadc9bdd7b0431f5d65f1a56ffb28a1ee5283"
checksum = "43c5703da9466b66a946814e1adf53ea2c90f10063b86290cc9eb67ce3478a20"
dependencies = [
"find-msvc-tools",
"jobserver",
@@ -2345,7 +2345,7 @@ dependencies = [
"chrono",
"half",
"hashbrown 0.16.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"libc",
"log",
@@ -2549,7 +2549,7 @@ dependencies = [
"datafusion-functions-aggregate-common",
"datafusion-functions-window-common",
"datafusion-physical-expr-common",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"paste",
"recursive",
@@ -2565,7 +2565,7 @@ checksum = "ab05fdd00e05d5a6ee362882546d29d6d3df43a6c55355164a7fbee12d163bc9"
dependencies = [
"arrow",
"datafusion-common",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"paste",
]
@@ -2729,7 +2729,7 @@ dependencies = [
"datafusion-expr",
"datafusion-expr-common",
"datafusion-physical-expr",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"log",
"recursive",
@@ -2752,7 +2752,7 @@ dependencies = [
"datafusion-physical-expr-common",
"half",
"hashbrown 0.16.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"parking_lot 0.12.5",
"paste",
@@ -2788,7 +2788,7 @@ dependencies = [
"datafusion-common",
"datafusion-expr-common",
"hashbrown 0.16.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"parking_lot 0.12.5",
]
@@ -2835,7 +2835,7 @@ dependencies = [
"futures",
"half",
"hashbrown 0.16.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itertools 0.14.0",
"log",
"num-traits",
@@ -2887,7 +2887,7 @@ dependencies = [
"datafusion-common",
"datafusion-expr",
"datafusion-functions-nested",
"indexmap 2.13.1",
"indexmap 2.14.0",
"log",
"recursive",
"regex",
@@ -3065,7 +3065,7 @@ dependencies = [
[[package]]
name = "dial9-tokio-telemetry"
version = "0.2.0"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=60502082601b647c4a51962595721f631b7bbce1#60502082601b647c4a51962595721f631b7bbce1"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=2117416f6052fb66edb393f2a8a22c1fdcb91bbd#2117416f6052fb66edb393f2a8a22c1fdcb91bbd"
dependencies = [
"arc-swap",
"bon",
@@ -3089,7 +3089,7 @@ dependencies = [
[[package]]
name = "dial9-trace-format"
version = "0.2.0"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=60502082601b647c4a51962595721f631b7bbce1#60502082601b647c4a51962595721f631b7bbce1"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=2117416f6052fb66edb393f2a8a22c1fdcb91bbd#2117416f6052fb66edb393f2a8a22c1fdcb91bbd"
dependencies = [
"dial9-trace-format-derive",
"serde",
@@ -3098,7 +3098,7 @@ dependencies = [
[[package]]
name = "dial9-trace-format-derive"
version = "0.2.0"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=60502082601b647c4a51962595721f631b7bbce1#60502082601b647c4a51962595721f631b7bbce1"
source = "git+https://github.com/dial9-rs/dial9-tokio-telemetry.git?rev=2117416f6052fb66edb393f2a8a22c1fdcb91bbd#2117416f6052fb66edb393f2a8a22c1fdcb91bbd"
dependencies = [
"proc-macro2",
"quote",
@@ -4072,7 +4072,7 @@ dependencies = [
"futures-core",
"futures-sink",
"http 1.4.0",
"indexmap 2.13.1",
"indexmap 2.14.0",
"slab",
"tokio",
"tokio-util",
@@ -4138,6 +4138,20 @@ dependencies = [
"serde_core",
]
[[package]]
name = "hashbrown"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51"
dependencies = [
"allocator-api2",
"equivalent",
"foldhash 0.2.0",
"rayon",
"serde",
"serde_core",
]
[[package]]
name = "headers"
version = "0.4.1"
@@ -4572,12 +4586,12 @@ dependencies = [
[[package]]
name = "indexmap"
version = "2.13.1"
version = "2.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45a8a2b9cb3e0b0c1803dbb0758ffac5de2f425b23c28f518faabd9d805342ff"
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
dependencies = [
"equivalent",
"hashbrown 0.16.1",
"hashbrown 0.17.0",
"serde",
"serde_core",
]
@@ -4589,7 +4603,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88"
dependencies = [
"ahash 0.8.12",
"indexmap 2.13.1",
"indexmap 2.14.0",
"is-terminal",
"itoa",
"log",
@@ -4612,7 +4626,7 @@ dependencies = [
"crossbeam-utils",
"dashmap",
"env_logger",
"indexmap 2.13.1",
"indexmap 2.14.0",
"itoa",
"log",
"num-format",
@@ -5056,14 +5070,14 @@ dependencies = [
[[package]]
name = "libredox"
version = "0.1.15"
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08"
checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c"
dependencies = [
"bitflags 2.11.0",
"libc",
"plain",
"redox_syscall 0.7.3",
"redox_syscall 0.7.4",
]
[[package]]
@@ -5345,7 +5359,7 @@ dependencies = [
"crossbeam-epoch",
"crossbeam-utils",
"hashbrown 0.16.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"metrics",
"ordered-float 5.3.0",
"quanta",
@@ -6371,7 +6385,7 @@ checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455"
dependencies = [
"fixedbitset",
"hashbrown 0.15.5",
"indexmap 2.13.1",
"indexmap 2.14.0",
"serde",
]
@@ -6801,7 +6815,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4aeaa1f2460f1d348eeaeed86aea999ce98c1bded6f089ff8514c9d9dbdc973"
dependencies = [
"anyhow",
"indexmap 2.13.1",
"indexmap 2.14.0",
"log",
"protobuf",
"protobuf-support",
@@ -7198,9 +7212,9 @@ dependencies = [
[[package]]
name = "redox_syscall"
version = "0.7.3"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16"
checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a"
dependencies = [
"bitflags 2.11.0",
]
@@ -7448,9 +7462,9 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422"
[[package]]
name = "rmcp"
version = "1.3.0"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2231b2c085b371c01bc90c0e6c1cab8834711b6394533375bdbf870b0166d419"
checksum = "f542f74cf247da16f19bbc87e298cd201e912314f4083e88cdd671f44f5fcb53"
dependencies = [
"async-trait",
"base64 0.22.1",
@@ -7470,9 +7484,9 @@ dependencies = [
[[package]]
name = "rmcp-macros"
version = "1.3.0"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36ea0e100fadf81be85d7ff70f86cd805c7572601d4ab2946207f36540854b43"
checksum = "b2391e4ae47f314e70eaafb6c7bd82e495e770b935448864446302143019151f"
dependencies = [
"darling 0.23.0",
"proc-macro2",
@@ -7669,7 +7683,7 @@ dependencies = [
"flatbuffers",
"futures",
"futures-util",
"hashbrown 0.16.1",
"hashbrown 0.17.0",
"hex-simd",
"http 1.4.0",
"http-body 1.0.1",
@@ -7780,7 +7794,7 @@ dependencies = [
"chrono",
"const-str",
"futures",
"hashbrown 0.16.1",
"hashbrown 0.17.0",
"metrics",
"rumqttc-next",
"rustfs-config",
@@ -8207,7 +8221,7 @@ dependencies = [
"chrono",
"form_urlencoded",
"futures",
"hashbrown 0.16.1",
"hashbrown 0.17.0",
"quick-xml 0.39.2",
"rayon",
"rumqttc-next",
@@ -8586,7 +8600,7 @@ dependencies = [
"crc-fast",
"flate2",
"futures",
"hashbrown 0.16.1",
"hashbrown 0.17.0",
"hex-simd",
"highway",
"hmac 0.13.0",
@@ -8775,9 +8789,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
[[package]]
name = "rustls-webpki"
version = "0.103.10"
version = "0.103.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef"
checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4"
dependencies = [
"aws-lc-rs",
"ring",
@@ -9098,7 +9112,7 @@ dependencies = [
"chrono",
"hex",
"indexmap 1.9.3",
"indexmap 2.13.1",
"indexmap 2.14.0",
"schemars 0.9.0",
"schemars 1.2.1",
"serde_core",
@@ -10118,7 +10132,7 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
dependencies = [
"futures-core",
"futures-util",
"indexmap 2.13.1",
"indexmap 2.14.0",
"pin-project-lite",
"slab",
"sync_wrapper",
@@ -10621,7 +10635,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909"
dependencies = [
"anyhow",
"indexmap 2.13.1",
"indexmap 2.14.0",
"wasm-encoder",
"wasmparser",
]
@@ -10647,7 +10661,7 @@ checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe"
dependencies = [
"bitflags 2.11.0",
"hashbrown 0.15.5",
"indexmap 2.13.1",
"indexmap 2.14.0",
"semver",
]
@@ -11121,7 +11135,7 @@ checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21"
dependencies = [
"anyhow",
"heck",
"indexmap 2.13.1",
"indexmap 2.14.0",
"prettyplease",
"syn 2.0.117",
"wasm-metadata",
@@ -11152,7 +11166,7 @@ checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2"
dependencies = [
"anyhow",
"bitflags 2.11.0",
"indexmap 2.13.1",
"indexmap 2.14.0",
"log",
"serde",
"serde_derive",
@@ -11171,7 +11185,7 @@ checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736"
dependencies = [
"anyhow",
"id-arena",
"indexmap 2.13.1",
"indexmap 2.14.0",
"log",
"semver",
"serde",
@@ -11409,7 +11423,7 @@ dependencies = [
"flate2",
"getrandom 0.4.2",
"hmac 0.12.1",
"indexmap 2.13.1",
"indexmap 2.14.0",
"lzma-rust2",
"memchr",
"pbkdf2 0.12.2",