You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: add form urlencoded support and fix SSE/race issues
- Add application/x-www-form-urlencoded content type support
- Parse and display form data in table format (CLI and WebUI)
- Multiple values for same key shown comma-separated
- URL-encoded characters automatically decoded
- Fix data race in run.go (stopErr variable)
- Fix SSE connection initialization (send connected comment)
- Fix SSE event ordering in WebUI (load after connect)
- Update header padding alignment in WebUI
- Update tests for SSE changes (io.Pipe unbuffered reads)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore: update linter config and pre-commit hooks
- Switch pre-commit-golang repo to TekWizely/pre-commit-golang
- Use golangci-lint-mod for full module linting
- Update golangci.yml errcheck exclusions for fmt.Fprint
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add multipart/form-data support with image preview
- add multipart/form-data content type support for file uploads
- display file metadata (filename, size, content-type) in terminal
- show content for small text files (under 1KB)
- sanitize binary content in raw HTTP output ([binary data: X KB])
- add image preview in web dashboard for uploaded images
- store file attachments with base64-encoded data for WebUI
- add comprehensive tests for multipart handling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* test: add more multipart tests for better coverage
- add tests for PNG, JPEG, GIF image uploads
- add test for mixed files and fields with binary detection
- improve coverage for image content type detection
- improve coverage for binary data sanitization
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: address codex review suggestions
- Load initial requests on page load instead of only on SSE open
- Add fallback to load requests on SSE error
- Cap image preview base64 encoding to 5MB max to prevent memory issues
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* docs: clarify that URL path doesn't matter
Add a note explaining that the server captures all incoming requests
regardless of the URL path. The paths in examples are for illustration only.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* ci: add workflow_dispatch trigger for manual runs
Allows manually triggering the test workflow from GitHub Actions UI
or via gh CLI.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* perf: stream multipart parts instead of reading all into memory
- Only buffer what's needed for preview (1KB for text, 5MB for images)
- Discard remaining bytes while counting total size
- Prevents OOM on large file uploads
Addresses Codex review feedback.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: prevent race condition between initial load and SSE
- Load initial requests BEFORE connecting SSE
- Remove redundant load from onopen to avoid overwriting SSE data
- Track initialLoadDone to only fallback-load once on SSE failure
Prevents requests arriving via SSE from being silently dropped
when loadInitialRequests() overwrites the array.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* security: sanitize image content-type to prevent XSS
Add whitelist of safe image MIME types (png, jpeg, gif, webp, bmp, x-icon).
Content-Type header is attacker-controlled and was interpolated directly
into data URL, allowing XSS via headers like:
Content-Type: image/png" onerror="alert(1)
Now only whitelisted types are used; others fall back to application/octet-stream.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: preserve raw body when saving raw HTTP requests
Terminal output gets sanitized body (no binary garbage).
Raw file gets unsanitized body for faithful capture and replay with nc.
Previously both outputs received sanitized body, corrupting saved files
and breaking the documented `nc localhost 9002 < file.raw` workflow.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
0 commit comments