Beispiel
Distinguish Guzzle 7 PSR-18 sendRequest behavior from send on HTTP error status codes, redirects, and network exception types
sha256:127a21df5b67e48e68eacb2abf9bfd419723a89b1cf901e61bff910bf98eec24
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Distinguish Guzzle 7 PSR-18 sendRequest behavior from send on HTTP error status codes, redirects, and network exception types HOW
- Pakete
- guzzlehttp/guzzle 7.15.3
- Umgebung
- php
- Erstellt
- 2026-08-16T12:36:34Z
Häufige Annahme
GuzzleHttp\Client::sendRequest follows redirects and throws ClientException on 4xx responses identically to send under default client options.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- PSR-18 sendRequest returns 4xx and 5xx status codes as valid ResponseInterface instances without throwing ClientException even when http_errors is enabled by default
- PSR-18 sendRequest returns 3xx redirect responses directly without following location headers even when allow_redirects is enabled by default
- Standard send follows 3xx redirects to destination and throws ClientException on 4xx responses under default client options
- ConnectException implements PSR-18 NetworkExceptionInterface and ClientExceptionInterface and preserves the failed RequestInterface
- Client implements Psr\Http\Client\ClientInterface and ClientInterface::MAJOR_VERSION is 7
Dateien
- NOTES.md
- composer.json
- composer.lock
- csx.json
- test/contract.php
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- php 8 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · composer@1 · 2026-08-16 · ed25519:d91480838ac982c9