nextcloud/lib
ernolf 812f12ecc4
perf(client): enable HTTP/2 and brotli support in internal HTTP client
- Prefer HTTP/2 by setting RequestOptions::VERSION => "2.0" so clients
  that respect PSR-7 request version will prefer HTTP/2.
- Add a curl hint (CURLOPT_HTTP_VERSION) to prefer HTTP/2 via ALPN
  (CURL_HTTP_VERSION_2TLS or CURL_HTTP_VERSION_2_0 fallback) while allowing
  automatic fallback to HTTP/1.1.
- Advertise Brotli ("br") in Accept-Encoding when the php-brotli extension
  is available (detected via function_exists('brotli_uncompress')), otherwise
  fall back to gzip.

Notes:
- The PSR-7 request version is used as a hint for HTTP client libraries;
  setting the version to "2.0" signals a preference for HTTP/2 at the request
  abstraction level.
- The curl option is defensive: it prefers HTTP/2 where libcurl supports it
  (via ALPN), but will not break on older libcurl/builds (uses defined()).

Compatibility:
- Fully backwards compatible: if the php-brotli extension is not present,
  no Brotli usage will occur and behaviour remains equivalent to previous
  (gzip).

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2025-09-30 17:01:07 +02:00
..
composer fix: Delete legacy OC_Response 2025-09-29 09:35:32 +02:00
l10n fix(l10n): Update translations from Transifex 2025-09-30 00:13:38 +00:00
private perf(client): enable HTTP/2 and brotli support in internal HTTP client 2025-09-30 17:01:07 +02:00
public feat(settings): Add support for delegated settings not appearing in menu 2025-09-28 14:50:14 +02:00
unstable fix(lexicon): missing doc 2025-07-24 15:56:35 -01:00
base.php fix: Delete legacy OC_Response 2025-09-29 09:35:32 +02:00
versioncheck.php feat(PHP): Allow PHP 8.4 2024-11-08 12:59:12 +01:00