Support websocket proxy with `proxy` route rule
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 11.2k
- Forks
- 899
- Avg merge
- 2d 24m
- Merged PRs (30d)
- 40
Description
Describe the feature
Context: mentioned by @keryigit (https://github.com/nitrojs/nitro/pull/926#issuecomment-2479538445)
Currently proxy route rules allow proxy normal HTTP requests but do not handle WebSocket upgrades
With experimental WebSocket support, we can also proxy WS upgrades.
For this, we need to develop a WS proxy utility from CrossWS: https://github.com/unjs/crossws/issues/93
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing handling for proxy route rules and the CrossWS issue #93 linked in the description. Determine how experimental WebSocket upgrades should flow through the proxy alongside normal HTTP requests. Done means WebSocket upgrades are proxied for matching proxy rules without breaking existing HTTP proxy behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100