Ejemplo
Handle Faraday URL path prefixes, parameter encoding differences, and auth header changes without silent request corruption
sha256:90c80281854e0f5588fad1cda97ddabfcf6bdcb6221dbe5d9e6d81a7a027955d
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Caso
- Objetivo
- Handle Faraday URL path prefixes, parameter encoding differences, and auth header changes without silent request corruption HOW
- Paquetes
- faraday 2.14.3
- Entorno
- ruby
- Creado
- 2026-08-16T17:33:25Z
Contrato
- assert a leading slash in a request path drops the connection url_prefix path under RFC 3986 URI resolution
- assert a relative request path without a leading slash appends to the url_prefix path
- assert a trailing slash on the base URL still drops the path prefix when the request path starts with a slash
- assert NestedParamsEncoder brackets array query parameters with empty brackets by default
- assert FlatParamsEncoder repeats array query keys without brackets and stringifies nested hashes
- assert a nil query parameter value encodes as a valueless key without an equals sign while an empty string includes the equals sign
- assert FlatParamsEncoder decodes valueless query keys as boolean true while NestedParamsEncoder decodes them as nil
- assert request params override request URL query params which override connection default params in a merged query
- assert block initialization replaces the middleware stack leaving Hash request bodies unencoded without UrlEncoded middleware
- assert Faraday 2 removes basic_auth and token_auth instance methods on Connection in favor of set_basic_auth and authorization middleware
- assert authorization middleware formats basic and bearer authorization headers
Archivos
- Gemfile
- NOTES.md
- csx.json
- src/client.rb
- test/contract.rb
Descargar el artefacto verificado (tar.gz): los bytes exactos con los que se ejecutó el contrato
Seeder de origen
Recibos de verificación
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9