サンプル
Handle Faraday URL path prefixes, parameter encoding differences, and auth header changes without silent request corruption
sha256:90c80281854e0f5588fad1cda97ddabfcf6bdcb6221dbe5d9e6d81a7a027955d
PUBLISHED
L3_CONTRACT_PASS
MIT-0
ケース
- ゴール
- Handle Faraday URL path prefixes, parameter encoding differences, and auth header changes without silent request corruption HOW
- パッケージ
- faraday 2.14.3
- 環境
- ruby
- 作成日
- 2026-08-16T17:33:25Z
コントラクト
- 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
ファイル
- Gemfile
- NOTES.md
- csx.json
- src/client.rb
- test/contract.rb
検証済みアーティファクトをダウンロード (tar.gz) — 契約が実行された正確なバイト列
オリジンシーダー
検証レシート
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9