[PR #400] [MERGED] Restore send parity in shared HTTP pipeline #322

Closed
opened 2026-03-22 21:17:22 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mountain-loop/yaak/pull/400
Author: @gschier
Created: 2/19/2026
Status: Merged
Merged: 2/19/2026
Merged by: @gschier

Base: mainHead: codex/send-parity-fixes


📝 Commits (3)

  • 6cb2db1 Restore send parity for cancellation, progress, DNS, and request body capture
  • e329ce5 Treat mid-body cancellation as error and drop chunk pre-delete
  • 051f9ac Keep mid-body cancel semantics aligned with existing behavior

📊 Changes

1 file changed (+228 additions, -17 deletions)

View changed files

📝 crates/yaak/src/send.rs (+228 -17)

📄 Description

Summary

Restore key HTTP send-path behavior parity that regressed after send logic moved to shared yaak.

What this fixes

  • restore cancellation responsiveness while response body is being read/written
  • restore periodic in-flight response progress updates (elapsed/content length)
  • restore DNS elapsed population on HttpResponse
  • restore request-body blob capture for persisted responses (<response_id>.request)

Implementation notes

  • threaded cancelled_rx through SendHttpRequestParams / SendHttpRequestByIdParams
  • replaced one-shot http_response.bytes() path with streaming body reads using into_body_stream()
  • added throttled progress persistence interval (100ms)
  • captured DNS timings from response events and copied to connected/final response state
  • for persisted responses:
    • bytes bodies are chunked into blob DB synchronously
    • stream bodies are wrapped with TeeReader and captured asynchronously into blob chunks
    • capture errors are appended to response error text without failing successful requests

Validation

  • cargo check -p yaak
  • cargo check -p yaak-app
  • cargo test -p yaak send:: -- --nocapture

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mountain-loop/yaak/pull/400 **Author:** [@gschier](https://github.com/gschier) **Created:** 2/19/2026 **Status:** ✅ Merged **Merged:** 2/19/2026 **Merged by:** [@gschier](https://github.com/gschier) **Base:** `main` ← **Head:** `codex/send-parity-fixes` --- ### 📝 Commits (3) - [`6cb2db1`](https://github.com/mountain-loop/yaak/commit/6cb2db1353fd1d2890cdd9e02ceb83b3b7a77dfd) Restore send parity for cancellation, progress, DNS, and request body capture - [`e329ce5`](https://github.com/mountain-loop/yaak/commit/e329ce5fecdaa5a4bf748c7558e25c0cc6839ed4) Treat mid-body cancellation as error and drop chunk pre-delete - [`051f9ac`](https://github.com/mountain-loop/yaak/commit/051f9ac452a761cd0b3af5e4cfa70e36d1a80333) Keep mid-body cancel semantics aligned with existing behavior ### 📊 Changes **1 file changed** (+228 additions, -17 deletions) <details> <summary>View changed files</summary> 📝 `crates/yaak/src/send.rs` (+228 -17) </details> ### 📄 Description ## Summary Restore key HTTP send-path behavior parity that regressed after send logic moved to shared `yaak`. ## What this fixes - restore cancellation responsiveness while response body is being read/written - restore periodic in-flight response progress updates (elapsed/content length) - restore DNS elapsed population on `HttpResponse` - restore request-body blob capture for persisted responses (`<response_id>.request`) ## Implementation notes - threaded `cancelled_rx` through `SendHttpRequestParams` / `SendHttpRequestByIdParams` - replaced one-shot `http_response.bytes()` path with streaming body reads using `into_body_stream()` - added throttled progress persistence interval (`100ms`) - captured DNS timings from response events and copied to connected/final response state - for persisted responses: - bytes bodies are chunked into blob DB synchronously - stream bodies are wrapped with `TeeReader` and captured asynchronously into blob chunks - capture errors are appended to response error text without failing successful requests ## Validation - `cargo check -p yaak` - `cargo check -p yaak-app` - `cargo test -p yaak send:: -- --nocapture` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-03-22 21:17:22 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/yaak#322