diff --git a/faraday-pr1549-unespace-rack-utils-query-result.patch b/faraday-pr1549-unespace-rack-utils-query-result.patch new file mode 100644 index 0000000..e727376 --- /dev/null +++ b/faraday-pr1549-unespace-rack-utils-query-result.patch @@ -0,0 +1,23 @@ +From 66551ecc79f5d3d5bca1a2523bd8736db8c2220c Mon Sep 17 00:00:00 2001 +From: Mattia Giuffrida +Date: Sat, 20 Jan 2024 16:48:26 +0000 +Subject: [PATCH] Unescape the result of `Rack::Utils.build_nested_query` + +--- + spec/faraday/params_encoders/nested_spec.rb | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/spec/faraday/params_encoders/nested_spec.rb b/spec/faraday/params_encoders/nested_spec.rb +index 46312047f..83da22dc4 100644 +--- a/spec/faraday/params_encoders/nested_spec.rb ++++ b/spec/faraday/params_encoders/nested_spec.rb +@@ -62,7 +62,8 @@ + it 'encodes rack compat' do + params = { a: [{ one: '1', two: '2' }, '3', ''] } + result = Faraday::Utils.unescape(Faraday::NestedParamsEncoder.encode(params)).split('&') +- expected = Rack::Utils.build_nested_query(params).split('&') ++ escaped = Rack::Utils.build_nested_query(params) ++ expected = Rack::Utils.unescape(escaped).split('&') + expect(result).to match_array(expected) + end + diff --git a/faraday-rack-pr13-rack31-rack_input.patch b/faraday-rack-pr13-rack31-rack_input.patch new file mode 100644 index 0000000..f08c969 --- /dev/null +++ b/faraday-rack-pr13-rack31-rack_input.patch @@ -0,0 +1,30 @@ +From a590bc34e40b62484440dcd4ab5147c0c02bb425 Mon Sep 17 00:00:00 2001 +From: Andreas Schleifer +Date: Wed, 9 Apr 2025 09:21:05 +0200 +Subject: [PATCH] Fix tests for rack 3.1: env['rack.input'] is optional (#13) + +* fix(spec): fix tests for rack 3.1 + +* feat(ci): add ruby 3.4 to CI test matrix + +--------- + +Co-authored-by: Olle Jonsson +--- + .github/workflows/ci.yml | 1 + + spec/support/webmock_rack_app.rb | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/spec/support/webmock_rack_app.rb b/spec/support/webmock_rack_app.rb +index a3212c7..894c411 100644 +--- a/spec/support/webmock_rack_app.rb ++++ b/spec/support/webmock_rack_app.rb +@@ -49,7 +49,7 @@ def req_headers(env) + end + + def req_body(env) +- env['rack.input'].read ++ env['rack.input']&.read + end + + def process_response(req_signature) diff --git a/rubygem-faraday.spec b/rubygem-faraday.spec index 715e072..6d9542c 100644 --- a/rubygem-faraday.spec +++ b/rubygem-faraday.spec @@ -3,7 +3,7 @@ Name: rubygem-%{gem_name} Version: 1.0.1 -Release: 17%{?dist} +Release: 18%{?dist} Summary: HTTP/REST API client library License: MIT URL: https://lostisland.github.io/faraday @@ -30,6 +30,14 @@ Patch3: faraday-pr1560-ruby34-backtrace-change.patch # ruby3.4 Hash#inspect formatting change # https://github.com/lostisland/faraday/pull/1604 Patch4: faraday-pr1604-ruby34-hash-inspect-formatting-change.patch +# https://github.com/lostisland/faraday-rack/pull/13 +# https://github.com/lostisland/faraday-rack/commit/a590bc34e40b62484440dcd4ab5147c0c02bb425 +# Patch for rack 3.1 wrt env['rack.input'] is optional +Patch5: faraday-rack-pr13-rack31-rack_input.patch +# https://github.com/lostisland/faraday/pull/1549 +# https://github.com/lostisland/faraday/commit/66551ecc79f5d3d5bca1a2523bd8736db8c2220c.patch +# Unescape the result of Rack::Utils.build_nested_query for rack 3.1 +Patch6: faraday-pr1549-unespace-rack-utils-query-result.patch BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby >= 2.3 @@ -116,6 +124,9 @@ popd %{gem_instdir}/spec %changelog +* Mon Dec 01 2025 Mamoru TASAKA - 1.0.1-18 +- Backport upstream patch for rack3.1 change + * Fri Jul 25 2025 Fedora Release Engineering - 1.0.1-17 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild