CodeSampleX

Пример

guzzlehttp/guzzle 8.0.2: Isolate host-only cookies without Domain attribute, truncate cross-origin redirect Referer headers to origin, restore BodySummarizer stream cursors on HTTP errors, and enforce RFC Max-Age precedence in guzzlehttp/guzzle 8

Проверенный пример — composer guzzlehttp/guzzle 8.0.2: Isolate host-only cookies without Domain attribute, truncate cross-origin redirect Referer headers to…

sha256:8a42f71c27f816717701cbf1aa7699e9e2fbdbacee2794f62e0f69614c60b7b9

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда php linux x64 php php composer

Среды запусков проверки

Окружение Контракт Этапы Запуск
php 8 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · composer@1
2026-08-16
php 8 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · composer@1
2026-08-18

Кейс

HOW
Цель
Isolate host-only cookies without Domain attribute, truncate cross-origin redirect Referer headers to origin, restore BodySummarizer stream cursors on HTTP errors, and enforce RFC Max-Age precedence in guzzlehttp/guzzle 8
Пакеты
Символы
  • GuzzleHttp\Cookie\CookieJar::extractCookies
  • GuzzleHttp\Cookie\SetCookie::getHostOnly
  • GuzzleHttp\Cookie\SetCookie::isExpired
  • GuzzleHttp\RedirectMiddleware
  • GuzzleHttp\BodySummarizer
  • GuzzleHttp\Psr7\UriComparator::isCrossOrigin
Окружение
php
Создан
2026-08-16T08:35:06Z

Контракт

  1. assert CookieJar::extractCookies marks cookies without Domain attribute as HostOnly and prevents sending them to subdomains
  2. assert CookieJar::extractCookies marks cookies with explicit Domain attribute as not HostOnly and sends them to subdomains
  3. assert RedirectMiddleware truncates cross-origin Referer header to origin only when referer option is enabled
  4. assert RedirectMiddleware preserves full path and query in same-origin Referer header
  5. assert RedirectMiddleware completely removes Referer header on HTTPS to HTTP scheme downgrade redirects
  6. assert BodySummarizer restores response body stream cursor position after formatting error message during ClientException
  7. assert SetCookie strictly prioritizes Max-Age=0 over future Expires attribute to mark cookie as immediately expired
  8. assert UriComparator::isCrossOrigin canonicalizes IPv6 bracketed hosts and treats alternate representations as same-origin
  9. assert Client preserves explicit request method casing verbatim without automatic normalization

Файлы

  • NOTES.md
  • composer.json
  • composer.lock
  • csx.json
  • src/GuzzleVersionSemantic.php
  • test/contract.php

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed