reactphp / reactphp/http

HTTP client: Support HTTP upgrades (WebSockets)

Open
#376 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted HTTP/1.1 new feature
Dominant language
PHP
Stars
781
Forks
166
PR merge metrics
No merged PRs in 30d

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 👍

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

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.

Assessment

Tech stack
php
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.