CodeSampleX

Beispiel

axum 0.8.9: Handle silent breaking changes in axum 0.8 OptionalFromRequest and OptionalFromRequestParts extractors where malformed Path, invalid Json, and tuple arity mismatches reject with 400, 415, 422, or 500 instead of returning None

Verifiziertes Beispiel für cargo axum 0.8.9: Handle silent breaking changes in axum 0.8 OptionalFromRequest and OptionalFromRequestParts extractors where…

sha256:f6665f3f04e7d8f13d3608f752ed887269d13145363c702ac891e260d741385e

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
2
Signaturschlüssel, die es gebaut haben
2
Deklarierte Umgebung rust linux x64 rust rust cargo

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
rust 1 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-16
rust 1 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · cargo@1
2026-08-18

Fall

HOW
Ziel
Handle silent breaking changes in axum 0.8 OptionalFromRequest and OptionalFromRequestParts extractors where malformed Path, invalid Json, and tuple arity mismatches reject with 400, 415, 422, or 500 instead of returning None
Pakete
Symbole
  • axum::extract::Path
  • axum::extract::OptionalFromRequestParts
  • axum::extract::OptionalFromRequest
  • axum::Json
  • axum::Router::route
  • tower::ServiceExt::oneshot
Umgebung
rust
Erstellt
2026-08-16T08:12:04Z

Contract

  1. assert Option<Path<u32>> returns Some(Path(42)) on a route with a valid path parameter
  2. assert Option<Path<u32>> rejects with 400 Bad Request instead of None when the path parameter in the route fails deserialization
  3. assert Option<Path<u32>> evaluates to None only when the matched route definition contains zero path parameters
  4. assert Option<Json<T>> evaluates to None only when the Content-Type header is completely omitted
  5. assert Option<Json<T>> rejects with 400 Bad Request instead of None when Content-Type is application/json but body has malformed JSON syntax
  6. assert Option<Json<T>> rejects with 422 Unprocessable Entity instead of None when Content-Type is application/json but body has schema or field type mismatches
  7. assert Option<Json<T>> rejects with 422 Unprocessable Entity instead of None when Content-Type is application/json but required fields are missing
  8. assert Option<Json<T>> rejects with 415 Unsupported Media Type instead of None when Content-Type header is non-JSON like text/plain
  9. assert Option<Json<T>> returns Some(Json(T)) when valid JSON body and Content-Type are provided
  10. assert a 1-tuple Path<(u32,)> on a 2-parameter route rejects with 500 Internal Server Error for arity mismatch instead of silently extracting the first parameter
  11. assert a 2-tuple Path<(u32, u32)> on a 2-parameter route extracts both parameters and returns 200 OK

Dateien

  • Cargo.lock
  • Cargo.toml
  • NOTES.md
  • csx.json
  • src/lib.rs

Quellartefakt herunterladen (tar.gz)

Ursprungs-Seeder

csx-seed