HTTP client issue with libcurl without HTTP/2 support
@joshtrichards is already working on this.
Since Apr 15, 2026.
- Dominant language
- PHP
- Stars
- 36.9k
- Forks
- 5.2k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 713
Description
We implemented HTTP/2 support in the mentioned PR, the PR mentions that we fallback to HTTP/1.1 in case 2 is not support, which for curl is true:
libcurl falls back to HTTP 1.1 if HTTP 2 cannot be negotiated with the HTTPS server.
(https://curl.se/libcurl/c/CURLOPT_HTTP_VERSION.html)
But seems guzzle has a hard check on HTTP/2 support:
https://github.com/guzzle/guzzle/blob/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4/src/Handler/CurlFactory.php#L52-L55
Additionally it seems not be enough to just remove the guzzle option, see https://github.com/nextcloud/talk-android/issues/5887.
I am not sure how big of an issue that is, as I would assume most libcurls currently do support HTTP/2. But maybe we should be more graceful.
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.
Assessment
This issue has not been assessed yet.