srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/PLAN.md
diff options
context:
space:
mode:
Diffstat (limited to 'PLAN.md')
-rw-r--r--PLAN.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/PLAN.md b/PLAN.md
index 80537e1..745511c 100644
--- a/PLAN.md
+++ b/PLAN.md
@@ -51,3 +51,15 @@ hudsucker) - same problem, worth studying even though this build is Go.
boundaries, not just per-connection ones).
- CA install UX per OS (Linux/macOS/Windows trust stores)
- Whether WebSocket interception is v1 or a later addition
+- Step 6 match-and-replace shipped headers-only. Body rules are a
+ separate, harder problem: request-body capture currently relies on
+ streaming the body straight from the client connection to the
+ upstream write (that's what makes it exact, byte for byte); a body
+ rule needs to materialize, transform, and re-send it instead, which
+ means deciding what "exact" even means for a rule-modified request
+ before touching that path again. Also still single-line-text-field
+ limited in the TUI (bubbles/textinput can't hold a literal CRLF), so
+ even with header rules, injecting a brand-new header line via the
+ form isn't possible yet - only rewriting/removing existing ones. The
+ underlying engine (rules.ApplyHeaders) already supports arbitrary
+ text-block edits; it's specifically the form UI that's constrained.