Skip to content

feat: Sprint 3 — WebSocket tunnel, CI/release workflows, Homebrew formula#13

Merged
hxddh merged 1 commit into
mainfrom
feat/sprint-3
May 28, 2026
Merged

feat: Sprint 3 — WebSocket tunnel, CI/release workflows, Homebrew formula#13
hxddh merged 1 commit into
mainfrom
feat/sprint-3

Conversation

@hxddh

@hxddh hxddh commented May 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • WebSocket support (wss://): new websocket.go with spliceWebSocket; detects Upgrade: websocket in handleConnect before hop-by-hop stripping, dials upstream TLS, performs the HTTP handshake, then splices raw bytes bidirectionally — bypassing bufio.Writer to prevent frame-stall deadlock
  • GitHub Actions CI (.github/workflows/ci.yml): go vet + go test -race -count=1 on every push and PR against main
  • Release workflow (.github/workflows/release.yml): cross-compiles to linux/darwin/windows × amd64/arm64 on tag push, uploads artifacts, and creates a GitHub release with auto-generated notes
  • Homebrew formula (Formula/httpmon.rb): template for a future tap; SHA256 fields to fill after the first v0.1.0 release

Test plan

  • TestSpliceWebSocket — verifies 101 forwarded, data flows client→upstream and upstream→client, no deadlock
  • All 32 tests pass with -race detector

https://claude.ai/code/session_01PPLEf2tHHFhw9rpW8dpdA3


Generated by Claude Code

…mula

- websocket.go: spliceWebSocket handles wss:// upgrade + bidirectional raw
  splice; bypass bufio.Writer for frame data to avoid stale-buffer deadlock
- main.go: detect Upgrade: websocket in handleConnect before hop-by-hop
  stripping; dial upstream TLS, hand off to spliceWebSocket, then break
- .github/workflows/ci.yml: go vet + go test -race on push and PRs
- .github/workflows/release.yml: cross-compile to 5 platforms on tag push,
  upload artifacts, create GitHub release with generated notes
- Formula/httpmon.rb: Homebrew formula template (SHA256 to fill after v0.1.0)

https://claude.ai/code/session_01PPLEf2tHHFhw9rpW8dpdA3
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@hxddh hxddh merged commit c4f0ec3 into main May 28, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants