HTTP client: Support HTTP upgrades (WebSockets)
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- php
- Domain
- networking
Research direction
Start by reviewing the server-side upgrade support referenced in #190 and the existing client streaming APIs. Determine how HTTP upgrade headers and a DuplexStreamInterface-based client API should fit together. Done means the client can negotiate WebSocket or similar upgrades without being limited to a ReadableStreamInterface.
Written by the indexing model from the issue text.
Description
This library should provide support for HTTP upgrades (WebSocket etc.) using the Connection: upgrade and Upgrade: websocket headers.
This is already supported on the server-side (see #190), so adding support for this on the client-side should be reasonable. This will likely require a dedicated API as the existing streaming APIs only expose a ReadableStreamInterface and the upgraded stream would have to be a DuplexStreamInterface.
We welcome contributions, reach out if you want to support this project 👍
- Dominant language
- PHP
- Stars
- 781
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
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.
More from reactphp/http
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 76/100
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
maintenance
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
new feature
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
help wanted new feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
pluginsGLPI/datainjection#673 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
octobercms/october#6130 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
getgrav/grav-plugin-form#656 ·
-
customer-support needs-triage Platform(Default)
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
sync-en
Difficulty 1/5 1-3 hours Newbie friendliness 88/100