Sample
Route streaming and string request bodies, decode response character encodings, and configure client certificate chains in faraday-net_http
sha256:9ca71f055cb31b6a238985df048561ad2d879d1bc7f426b12b55c23726129e9c
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Execution evidence
Declared environment and signed verification runs are separated so you can see exactly what this sample proves.
Evidence basisSigned contract pass
Verification receipts1
Verification levelL3_CONTRACT_PASS
Declared environment
- Execution context
- ruby
- Operating system
- linux
- Architecture
- x64
- Runtime
- ruby
- Language
- ruby
- Package manager
- rubygems
Verification-run environments
- Execution context
- ruby 3
- Operating system
- linux debian · glibc
- Architecture
- x64
- Runtime
- ruby 3
- Language
- ruby
- Package manager
- rubygems
- Execution
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17
Case
- Goal
- Route streaming and string request bodies, decode response character encodings, and configure client certificate chains in faraday-net_http HOW
- Packages
-
faraday-net_http 3.4.4
- Environment
- ruby
- Created
- 2026-08-17T12:43:09Z
Contract
- Faraday::Adapter::NetHttp routes IO-like request bodies to Net::HTTPGenericRequest#body_stream while dynamically decoding response body character sets from Content-Type headers.
- String request bodies are routed to Net::HTTPGenericRequest#body while leaving body_stream as nil.
- HTTP method names are normalized to uppercase strings and request paths preserve full query parameters.
- Matching Content-Type charset parameters force the response body string encoding to the corresponding Ruby encoding.
- Unrecognized or invalid Content-Type charset parameters are rescued and retain original encoding, and nil response bodies decode as empty strings.
- Client certificate arrays passed in SSL options populate http.cert with the primary certificate and http.extra_chain_cert with intermediate chain certificates.
Files
- Gemfile
- Gemfile.lock
- NOTES.md
- csx.json
- lib/request_transformer.rb
- test/contract.rb
Download the source artifact (tar.gz)
Origin Seeder
csx-seed
Verification receipts
- ruby 3 · linux debian/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-17 · ed25519:d91480838ac982c9