open-standards/wai/http-conformance/falsify/refusal-ends.patch
Transaction Science 909312ce15 wai: falsification patches for the fix round, and the four the rewrite moved, regenerated
New: threshold-all, refusal-ends, reuse-stale, plus-sign, dispatch-layer,
union-no-layer, wai-prefix-case, dup-caps, record-alt, base-unanswered, each
naming the corpus cases it must fail. accept-gzip, trust-content-range,
skip-on-absent and intersection are the same defects written against the
current code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 09:35:08 -04:00

18 lines
811 B
Diff

# must fail: fetch_O8_refinement_gzip fetch_O8_refinement_bad_range
# a refused refinement response ends the fetch (session::take)
diff --git a/wai/wai-rs/src/http_binding/session.rs b/wai/wai-rs/src/http_binding/session.rs
index 4730c192..70f19622 100644
--- a/wai/wai-rs/src/http_binding/session.rs
+++ b/wai/wai-rs/src/http_binding/session.rs
@@ -481,10 +481,7 @@ impl FetchSession {
self.held.push((got, body.to_vec()));
Ok(())
}
- Err(_) if class == Class::Refinement => {
- self.abandon(&want);
- Ok(())
- }
+ Err(e) if class == Class::Refinement => Err(e),
Err(e) => Err(e),
}
}