Diff of the two buildlogs:

--
--- b1/build.log	2025-03-23 06:48:27.707106652 +0000
+++ b2/build.log	2025-03-23 06:49:13.101057917 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Sat Mar 22 18:46:44 -12 2025
-I: pbuilder-time-stamp: 1742712404
+I: Current time: Sun Apr 26 03:11:35 +14 2026
+I: pbuilder-time-stamp: 1777122695
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -27,54 +27,86 @@
 dpkg-source: info: applying skip-test-failing-in-ubuntu.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/6539/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/D01_modify_environment starting
+debug: Running on ionos6-i386.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Apr 25 13:11 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='i386'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=11 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='i386'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="i686-pc-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=i386
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=21 '
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=i686
+  HOST_ARCH=i386
   IFS=' 	
   '
-  INVOCATION_ID='974651719a804643a61d6787bd28a83a'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  LD_LIBRARY_PATH='/usr/lib/libeatmydata'
-  LD_PRELOAD='libeatmydata.so'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='6539'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=088e8b3fdbf24a57aecb89e4c74b7422
+  LANG=C
+  LANGUAGE=de_CH:de
+  LC_ALL=C
+  LD_LIBRARY_PATH=/usr/lib/libeatmydata
+  LD_PRELOAD=libeatmydata.so
+  MACHTYPE=i686-pc-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=128936
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.6NlEyuE9/pbuilderrc_tK1v --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.6NlEyuE9/b1 --logfile b1/build.log ruby-faraday_2.12.2-1.dsc'
-  SUDO_GID='112'
-  SUDO_UID='107'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://46.16.76.132:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.6NlEyuE9/pbuilderrc_7F6S --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.6NlEyuE9/b2 --logfile b2/build.log ruby-faraday_2.12.2-1.dsc'
+  SUDO_GID=112
+  SUDO_UID=107
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://213.165.73.152:3128
 I: uname -a
-  Linux ionos12-i386 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Mar  4 11:20 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/6539/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Mar  4  2025 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -325,7 +357,7 @@
 Get: 185 http://deb.debian.org/debian trixie/main i386 ruby-rspec all 3.13.0c0e0m0s1-2 [5184 B]
 Get: 186 http://deb.debian.org/debian trixie/main i386 ruby-ruby2-keywords all 0.0.5-1 [4300 B]
 Get: 187 http://deb.debian.org/debian trixie/main i386 ruby-webmock all 3.25.1-1 [68.8 kB]
-Fetched 53.1 MB in 1s (54.0 MB/s)
+Fetched 53.1 MB in 1s (43.7 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package libpython3.13-minimal:i386.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19772 files and directories currently installed.)
@@ -943,8 +975,8 @@
 Setting up tzdata (2025a-2) ...
 
 Current default time zone: 'Etc/UTC'
-Local time is now:      Sun Mar 23 06:47:29 UTC 2025.
-Universal Time is now:  Sun Mar 23 06:47:29 UTC 2025.
+Local time is now:      Sat Apr 25 13:11:57 UTC 2026.
+Universal Time is now:  Sat Apr 25 13:11:57 UTC 2026.
 Run 'dpkg-reconfigure tzdata' if you wish to change it.
 
 Setting up ruby-minitest (5.25.4-2) ...
@@ -1110,7 +1142,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/ruby-faraday-2.12.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../ruby-faraday_2.12.2-1_source.changes
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/ruby-faraday-2.12.2/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../ruby-faraday_2.12.2-1_source.changes
 dpkg-buildpackage: info: source package ruby-faraday
 dpkg-buildpackage: info: source version 2.12.2-1
 dpkg-buildpackage: info: source distribution unstable
@@ -1144,7 +1180,7 @@
 │ ruby-faraday: Installing files and building extensions for ruby3.3           │
 └──────────────────────────────────────────────────────────────────────────────┘
 
-/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20250322-13316-jim8e/gemspec
+/usr/bin/ruby3.3 -S gem build --config-file /dev/null --verbose /tmp/d20260426-3818-ytgecm/gemspec
 WARNING:  open-ended dependency on json (>= 0) is not recommended
   use a bounded requirement, such as "~> x.y"
 WARNING:  open-ended dependency on logger (>= 0) is not recommended
@@ -1154,7 +1190,7 @@
   Name: faraday
   Version: 2.12.2
   File: faraday-2.12.2.gem
-/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20250322-13316-jim8e/faraday-2.12.2.gem
+/usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-faraday/usr/share/rubygems-integration/all /tmp/d20260426-3818-ytgecm/faraday-2.12.2.gem
 /build/reproducible-path/ruby-faraday-2.12.2/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.12.2/lib/faraday.rb
 /build/reproducible-path/ruby-faraday-2.12.2/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.12.2/lib/faraday/adapter.rb
 /build/reproducible-path/ruby-faraday-2.12.2/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-2.12.2/lib/faraday/adapter/test.rb
@@ -1228,571 +1264,665 @@
 RUBYLIB=. GEM_PATH=/build/reproducible-path/ruby-faraday-2.12.2/debian/ruby-faraday/usr/share/rubygems-integration/all:/build/reproducible-path/ruby-faraday-2.12.2/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.3.0:/var/lib/gems/3.3.0:/usr/local/lib/ruby/gems/3.3.0:/usr/lib/ruby/gems/3.3.0:/usr/lib/i386-linux-gnu/ruby/gems/3.3.0:/usr/share/rubygems-integration/3.3.0:/usr/share/rubygems-integration/all:/usr/lib/i386-linux-gnu/rubygems-integration/3.3.0 ruby3.3 -S rake --rakelibdir /gem2deb-nonexistent -f debian/ruby-tests.rake
 /usr/bin/ruby3.3 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.13.1/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.13.0/exe/rspec ./spec/faraday/adapter/test_spec.rb ./spec/faraday/adapter_registry_spec.rb ./spec/faraday/adapter_spec.rb ./spec/faraday/connection_spec.rb ./spec/faraday/error_spec.rb ./spec/faraday/middleware_registry_spec.rb ./spec/faraday/middleware_spec.rb ./spec/faraday/options/env_spec.rb ./spec/faraday/options/options_spec.rb ./spec/faraday/options/proxy_options_spec.rb ./spec/faraday/options/request_options_spec.rb ./spec/faraday/params_encoders/flat_spec.rb ./spec/faraday/params_encoders/nested_spec.rb ./spec/faraday/rack_builder_spec.rb ./spec/faraday/request/authorization_spec.rb ./spec/faraday/request/instrumentation_spec.rb ./spec/faraday/request/json_spec.rb ./spec/faraday/request/url_encoded_spec.rb ./spec/faraday/request_spec.rb ./spec/faraday/response/json_spec.rb ./spec/faraday/response/logger_spec.rb ./spec/faraday/response/raise_error_spec.rb ./spec/faraday/response_spec.rb ./spec/faraday/utils/headers_spec.rb ./spec/faraday/utils_spec.rb ./spec/faraday_spec.rb --format documentation
 
-Randomized with seed 59160
+Randomized with seed 53414
 
-Faraday::AdapterRegistry
-  #initialize
-    caches lookups with explicit name
-    is expected to raise NameError
-    looks up class by symbol name
-    caches lookups with implicit name
-    is expected to raise NameError
-    looks up class by string name
+Faraday::Request::Json
+  object body with vendor json type
+    doesn't change content type
+    encodes body
+  empty object body
+    encodes body
+  object body with json type
+    encodes body
+    doesn't change content type
+  string body
+    adds content type
+    doesn't change body
+  true body
+    encodes body
+    adds content type
+  false body
+    adds content type
+    encodes body
+  object body
+    adds content type
+    encodes body
+  empty body
+    doesn't change body
+    doesn't add content type
+  with encoder
+    when encoder is not passed
+      calls JSON.generate
+      adds content type
+      encodes body
+    when encoder is passed as an object-method pair
+      adds content type
+      calls specified JSON encoder
+      encodes body
+    when encoder is passed as object
+      adds content type
+      encodes body
+      calls specified JSON encoder's dump method
+  no body
+    doesn't add content type
+    doesn't change body
+  object body with incompatible type
+    doesn't change body
+    doesn't change content type
+
+Faraday::Adapter
+  #request_timeout
+    gets :write timeout
+    attempts unknown timeout type
+    gets :open timeout
+    gets :read timeout
+
+Faraday::NestedParamsEncoder
+  decodes nested ignores repeated array notation
+  decodes nested ignores invalid array
+  decodes nested arrays rack compat
+  encodes nil array value
+  decodes nested subkeys dont have to be in brackets
+  encodes boolean values
+  decodes nested ignores malformed keys
+  encodes empty string array value
+  encodes arrays indices when asked
+  encodes empty array value
+  encodes boolean values in array
+  encodes unsorted when asked
+  decodes nested final value overrides any type
+  encodes rack compat
+  decodes nested array mixed types
+  decodes hashes
+  decodes arrays
+  when expecting array but getting string
+    behaves like a wrong decoding
+      is expected to raise TypeError
+  when expecting hash but getting array
+    behaves like a wrong decoding
+      is expected to raise TypeError
+  when expecting nested hash but getting non nested
+    behaves like a wrong decoding
+      is expected to raise TypeError
+  when expecting hash but getting string
+    behaves like a wrong decoding
+      is expected to raise TypeError
+  behaves like a params encoder
+    escapes safe buffer
+    encodes nil
+    raises type error for empty string
+  when expecting array but getting hash
+    behaves like a wrong decoding
+      is expected to raise TypeError
 
 Faraday::Request::Instrumentation
   is expected to eq "request.faraday"
-  defaults to ActiveSupport::Notifications
   instruments with default name
-  with custom name
-    instruments with custom name
-    is expected to eq "custom"
+  defaults to ActiveSupport::Notifications
   with custom instrumenter
     is expected to eq :custom
-
-Faraday::ProxyOptions
-  allows hash access
-  #from
-    works with string
-    defaults to http
-    treats empty string as nil
-    works with no auth
-    works with nil
-
-Faraday::MiddlewareRegistry
-  allows to register with Proc
-  allows to register with constant
-  allows to register with symbol
-  allows to register with string
-
-Faraday::Response::Logger
-  does not log error message by default
-  does not log request body by default
-  logs response headers by default
-  logs method and url
-  logs request headers by default
-  logs filter url
-  still returns output
-  logs filter headers
-  logs status
-  does not log response body by default
-  when logger without program name
-    logs without program name
-  when logger with program name
-    logs with program name
-  when logging request and response bodies
-    log request and response body
-    logs filter body
-    log response body object
-  when not logging request headers
-    does not log request headers if option is false
-  when logging response body
-    log only response body
-  without configuration
-    defaults to stdout
-  with default formatter
-    delegates logging to the formatter
-    when no route
-      delegates logging to the formatter
-  when logging request body
-    log only request body
-  when not logging response headers
-    does not log response headers if option is false
-  when logging headers and errors
-    logs error message
-  when logging errors
-    logs error message
-  with custom formatter
-    logs with custom formatter
-  when using log_level
-    logs request/request body on the specified level (debug)
-    does not log request/response body on the info level
-    does not log headers on the info level
-    logs headers on the debug level
+  with custom name
+    is expected to eq "custom"
+    instruments with custom name
 
 Faraday::Connection
-  #close
-    can close underlying app
-  default_connection_options
-    assigning a hash
-      behaves like default connection options
-        default connection uses default connection options
-        works with option url
-        works with implicit url
-        default connection options persist with an instance overriding
-        works with instance connection options
-    assigning a default value
-      behaves like default connection options
-        works with option url
-        default connection options persist with an instance overriding
-        default connection uses default connection options
-        works with instance connection options
-        works with implicit url
-    preserving a user_agent assigned via default_conncetion_options
-      when url is a Hash
-        is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"}
-      when url is a String
-        is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"}
+  #respond_to?
+    is expected to be truthy
+    is expected to be truthy
+  request params
+    with simple url
+      test_overrides_request_params_block
+      test_overrides_request_params_block_url
+      test_overrides_request_params
+    with flat params encoder
+      supports array params in params
+      with array param in url
+        example at ./spec/faraday/connection_spec.rb:802
+    with default params encoder
+      supports array params in params
+      supports array params in url
+    with url and extra params
+      allows to override all params
+      allows to set params_encoder for single request
+      merges connection and request params
   #build_exclusive_url
     does not add ending slash given nil url
+    allows to provide params argument
     always returns new URI instance
-    does not add ending slash given empty url
+    does not use connection params
     handles uri instances
-    allows to provide params argument
+    does not add ending slash given empty url
     overrides connection port for absolute url
-    does not use connection params
+    with url_prefixed connection
+      parses url and changes scheme
+      used default base with ending slash
+      overrides base
+      joins url to base with ending slash
     with a custom `default_uri_parser`
       does not raise error
+    with absolute path
+      example at ./spec/faraday/connection_spec.rb:208
+      is expected to eq "/sake.html"
+      is expected to eq "/sake.html"
+      is expected to eq "/sake.html"
     with colon in path
       joins url to base when used absolute path
-      joins url to base when used relative path
       joins url to base when used with path prefix
-    with url_prefixed connection
-      overrides base
-      used default base with ending slash
-      parses url and changes scheme
-      joins url to base with ending slash
+      joins url to base when used relative path
     with relative path
-      is expected to eq "/fish/sake.html"
       uses connection host as default host
       is expected to eq "/fish/sake.html"
       is expected to eq "/sake.html"
       is expected to eq "/fish/sake.html"
-    with absolute path
-      example at ./spec/faraday/connection_spec.rb:207
-      is expected to eq "/sake.html"
-      is expected to eq "/sake.html"
-      is expected to eq "/sake.html"
+      is expected to eq "/fish/sake.html"
     with complete url
       is expected to eq "a=1"
-      is expected to eq "http"
+      is expected to eq "httpbingo.org"
       is expected to eq "/sake.html"
       is expected to eq 80
-      is expected to eq "httpbingo.org"
-  #respond_to?
-    is expected to be truthy
+      is expected to eq "http"
+  #build_request
+    is expected to be falsey
+    is expected to be empty
     is expected to be truthy
+    is expected to eq ["Authorization"]
+  #to_env
+    bracketizes nested params in query
+    escapes per spec
+    without braketizing repeated params in query
+    bracketizes repeated params in query
+    parses url params into query
+  #dup
+    is expected to eq "text/plain"
+    is expected to eq "1"
+    is expected to eq #<URI::HTTP http://httpbingo.org/foo>
+    after manual changes
+      is expected to eq 1
+      is expected to be nil
+      is expected to be falsey
+      is expected to eq 1
+      is expected to eq 5
+      is expected to be falsey
+  #close
+    can close underlying app
+  default_connection_options
+    preserving a user_agent assigned via default_conncetion_options
+      when url is a String
+        is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"}
+      when url is a Hash
+        is expected to eq {"CustomHeader"=>"CustomValue", "User-Agent"=>"My Agent 1.2"}
+    assigning a hash
+      behaves like default connection options
+        works with implicit url
+        default connection options persist with an instance overriding
+        default connection uses default connection options
+        works with option url
+        works with instance connection options
+    assigning a default value
+      behaves like default connection options
+        works with option url
+        default connection uses default connection options
+        default connection options persist with an instance overriding
+        works with instance connection options
+        works with implicit url
   proxy support
-    accepts uri
-    accepts string
-    uses processes no_proxy before http_proxy
-    accepts hash with string uri
-    accepts hash
+    allows when url is not in no proxy list but ip address is
     ignores env proxy if set that way
-    allows when url in no proxy list with url_prefix
-    uses processes no_proxy before https_proxy
-    test proxy requires uri
     allows when prefixed url is not in no proxy list
-    fetches no proxy from nil env
-    does not accept uppercase env
+    allows when ip address is not in no proxy list but url is
+    uses processes no_proxy before https_proxy
+    accepts hash with string uri
     uses env https_proxy
+    allows when url in no proxy list with url_prefix
+    accepts http env with auth
+    accepts hash
+    accepts uri
     allows when subdomain url is in no proxy list
-    allows when url in no proxy list
-    allows when url is not in no proxy list but ip address is
-    allows when ip address is not in no proxy list but url is
+    uses env http_proxy
     allows in multi element no proxy list
+    allows when url not in no proxy list
+    does not accept uppercase env
+    uses processes no_proxy before http_proxy
+    accepts string
     fetches no proxy from blank env
-    accepts env without scheme
+    allows when url in no proxy list
     gives priority to manually set proxy
-    allows when url not in no proxy list
-    accepts http env with auth
     accepts http env
-    uses env http_proxy
+    accepts env without scheme
+    test proxy requires uri
+    fetches no proxy from nil env
     performing a request
       dynamically check no proxy
       dynamically checks proxy
+  #build_url
+    merges params
+    uses params
   .new
-    with verify_hostname false
-      is expected to be falsey
-    with explicit url param
+    with implicit url param
       behaves like initializer with url
-        with complex url
-          is expected to eq "/fish"
-          is expected to eq {"a"=>"1"}
-          is expected to eq 815
-        with simple url
-          is expected to eq 80
-          is expected to eq "httpbingo.org"
-          is expected to eq "http"
-          is expected to eq {}
-          is expected to eq "/"
         with IPv6 address
           is expected to eq "[::1]"
           is expected to eq 85
-    with custom headers
-      is expected to eq "Faraday"
-    with custom builder
-      is expected to eq #<Faraday::RackBuilder:0xf493c958 @adapter=nil, @handlers=[Faraday::Request::UrlEncoded]>
-    with ssl false
-      is expected to be falsey
-    with basic_auth in url
-      is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
-    with empty block
-      is expected to eq 0
-    with block
-      is expected to eq 0
-      is expected to eq "/omnom"
-    with custom params
-      is expected to eq {"a"=>1}
-    with implicit url param
-      behaves like initializer with url
         with simple url
           is expected to eq "http"
+          is expected to eq 80
           is expected to eq "/"
           is expected to eq {}
-          is expected to eq 80
           is expected to eq "httpbingo.org"
         with complex url
+          is expected to eq {"a"=>"1"}
           is expected to eq 815
           is expected to eq "/fish"
-          is expected to eq {"a"=>"1"}
+    with custom headers
+      is expected to eq "Faraday"
+    with basic_auth in url
+      is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
+    with custom builder
+      is expected to eq #<Faraday::RackBuilder:0xf4a6c314 @adapter=nil, @handlers=[Faraday::Request::UrlEncoded]>
+    with ssl false
+      is expected to be falsey
+    with explicit url param
+      behaves like initializer with url
         with IPv6 address
           is expected to eq 85
           is expected to eq "[::1]"
+        with complex url
+          is expected to eq {"a"=>"1"}
+          is expected to eq "/fish"
+          is expected to eq 815
+        with simple url
+          is expected to eq "httpbingo.org"
+          is expected to eq {}
+          is expected to eq 80
+          is expected to eq "/"
+          is expected to eq "http"
+    with block
+      is expected to eq "/omnom"
+      is expected to eq 0
+    with custom params
+      is expected to eq {"a"=>1}
+    with empty block
+      is expected to eq 0
     with custom params and params in url
       is expected to eq {"a"=>3, "b"=>"2"}
-  #to_env
-    escapes per spec
-    without braketizing repeated params in query
-    bracketizes repeated params in query
-    bracketizes nested params in query
-    parses url params into query
-  #dup
-    is expected to eq "text/plain"
-    is expected to eq "1"
-    is expected to eq #<URI::HTTP http://httpbingo.org/foo>
-    after manual changes
-      is expected to eq 1
-      is expected to eq 1
-      is expected to be falsey
-      is expected to eq 5
-      is expected to be nil
+    with verify_hostname false
       is expected to be falsey
-  request params
-    with flat params encoder
-      supports array params in params
-      with array param in url
-        example at ./spec/faraday/connection_spec.rb:802
-    with default params encoder
-      supports array params in params
-      supports array params in url
-    with url and extra params
-      allows to override all params
-      merges connection and request params
-      allows to set params_encoder for single request
-    with simple url
-      test_overrides_request_params_block
-      test_overrides_request_params
-      test_overrides_request_params_block_url
-  #build_url
-    uses params
-    merges params
-  #build_request
-    is expected to eq ["Authorization"]
-    is expected to be falsey
-    is expected to be empty
-    is expected to be truthy
 
-Faraday::Adapter::Test
-  for request with non default params encoder
-    when all flat param values are correctly set
-      is expected to eq 200
-    behaves like raise NotFound when params do not satisfy the flat param values
-      with {:a=>["x", "z", "y"]}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when params do not satisfy the flat param values
-      with {:a=>["x"]}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when params do not satisfy the flat param values
-      with {:b=>["x", "y", "z"]}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when params do not satisfy the flat param values
-      with {:a=>["x", "y"]}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-  raising an error if no stub was found
-    for request
-      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    for request without specified header
-      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    for specified host
-      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-  can be called several times
-    is expected to eq "hello"
-  with get params
-    is expected to eq "a"
-  request timeout
-    when request is too slow
-      raises an exception
-    when request is within timeout
-      is expected to eq 200
-  can handle regular expression path
-    is expected to eq "show"
-  with simple path sets body
-    is expected to eq "hello"
-  yielding env to stubs
-    is expected to eq "a"
-  with host points to the right stub
-    is expected to eq "domain: hello"
-  different outcomes for the same request
-    the first request
-      is expected to eq "hello"
-    the second request
-      is expected to eq "world"
-  with http headers
-    without header
-      is expected to eq "b"
-    with header
-      is expected to eq "a"
-  ignoring unspecified get params
-    without params
-      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    with multiple params
-      is expected to eq "a"
-    with single param
-      is expected to eq "a"
-  can handle regular expression path with captured result
-    is expected to eq "show specified"
-  strict_mode
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:a=>"12"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Basic m_ck", :"x-c"=>"hello"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    when params and headers are exactly set with a custom user agent
-      is expected to eq 200
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck", :user_agent=>"Unknown"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    body_match?
-      when trying with proc body stubs
-        is expected to eq 200
-      when trying without any args for body
-        is expected to eq 200
-      when trying with string body stubs
-        is expected to eq 200
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:b=>"xy"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    when strict_mode is disabled
-      behaves like does not raise NotFound even when headers do not satisfy the strict check
-        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when headers do not satisfy the strict check
-        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when headers do not satisfy the strict check
-        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :user_agent=>"Special Agent"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when headers do not satisfy the strict check
-        with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when params do not satisfy the strict check
-        with {:a=>"12", :b=>"xy"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when headers do not satisfy the strict check
-        with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when params do not satisfy the strict check
-        with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"}
-          is expected to eq 200
-      behaves like does not raise NotFound even when params do not satisfy the strict check
-        with {:a=>"12", :b=>"xy", :c=>"hello"}
-          is expected to eq 200
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:a=>"12", :b=>"xy", :c=>"hello"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    when params and headers are exactly set
-      is expected to eq 200
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:a=>"123", :b=>"xy"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {"X-C"=>"hello"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:a=>"12", :b=>"xyz"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when params do not satisfy the strict check
-      with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    behaves like raise NotFound when headers do not satisfy the strict check
-      with {:authorization=>"Bearer m_ck", :"x-c"=>"Hi"}
-        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-  with simple path sets headers
-    is expected to eq "text/html"
-  params parsing
-    with default encoder
-      is expected to eq "a"
-    with nested encoder
-      is expected to eq "a"
-    with flat encoder
-      is expected to eq "a"
-  with simple path sets status
-    is expected to eq 200
-  can handle single parameter block
-    is expected to eq "get"
+Faraday::Request::Authorization
+  authorization
+    with an argument
+      when passed a callable with an argument
+        is expected to eq "Bearer callable crunchy surprise"
+        and request already has an authentication header
+          does not interfere with existing authorization
+      when passed a proc
+        is expected to eq "Bearer proc crunchy surprise"
+        and request already has an authentication header
+          does not interfere with existing authorization
+      when passed a lambda
+        is expected to eq "Bearer lambda crunchy surprise"
+        and request already has an authentication header
+          does not interfere with existing authorization
+    when passed a proc
+      is expected to eq "Bearer custom_from_proc"
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when passed a callable
+      is expected to eq "Bearer custom_from_callable"
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when passed a string
+      is expected to eq "Bearer custom"
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when passed too many arguments
+      is expected to raise ArgumentError
+      and request already has an authentication header
+        does not interfere with existing authorization
+  basic_auth
+    when passed correct params
+      is expected to eq "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when passed very long values
+      is expected to eq "Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU...UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOg=="
+      and request already has an authentication header
+        does not interfere with existing authorization
 
-Faraday::Request::UrlEncoded
-  works with with headers
-  works with nested params
-  works with unicode
-  works with non nested params
-  ignores custom content type
-  does nothing without payload
-  works with files
-  works with nested keys
-  works with no headers
-  customising default_space_encoding
-    uses the custom character to encode spaces
+Faraday::Utils::Headers
+  #delete
+    is expected to be nil
+    is expected not to include "content-type"
+    is expected to eq 0
+    is expected to eq "application/json"
+  when Content-Type is set to application/json
+    is expected to eq "application/json"
+    is expected to eq "application/json"
+    is expected to eq ["Content-Type"]
+    is expected to include "content-type"
+    is expected to eq "application/json"
+  #parse
+    when response headers leave http status line out
+      is expected to eq ["Content-Type"]
+      is expected to eq "text/html"
+      is expected to eq "text/html"
+    when response headers include already stored keys
+      is expected to eq "8, 123"
+    when response headers include a blank line
+      is expected to eq "text/html"
+    when response headers values include a colon
+      is expected to eq "http://httpbingo.org/"
+  #dig
+    is expected to eq "application/json"
+    is expected to be nil
+    is expected to eq "application/json"
+    is expected to eq "application/json"
+  #fetch
+    is expected to eq "application/json"
+    calls a block when provided
+    is expected to eq "Invalid key"
+    is expected to eq "application/json"
+    is expected to eq false
+    is expected to be nil
+    raises an error if key not found
+    is expected to eq "default"
+    is expected to eq "application/json"
+  when Content-Type is set to application/xml
+    is expected to eq "application/xml"
+    is expected to include "content-type"
+    is expected to eq "application/xml"
+    is expected to eq ["Content-Type"]
+    is expected to eq "application/xml"
 
-Faraday::Request::Json
-  empty object body
-    encodes body
-  object body with vendor json type
-    doesn't change content type
-    encodes body
-  object body
-    adds content type
-    encodes body
-  false body
-    encodes body
-    adds content type
-  true body
-    encodes body
-    adds content type
-  object body with incompatible type
-    doesn't change content type
-    doesn't change body
-  object body with json type
-    doesn't change content type
-    encodes body
-  with encoder
-    when encoder is passed as object
-      calls specified JSON encoder's dump method
-      adds content type
-      encodes body
-    when encoder is not passed
-      encodes body
-      adds content type
-      calls JSON.generate
-    when encoder is passed as an object-method pair
-      adds content type
-      encodes body
-      calls specified JSON encoder
-  no body
-    doesn't add content type
-    doesn't change body
-  empty body
-    doesn't change body
-    doesn't add content type
-  string body
-    adds content type
-    doesn't change body
+Faraday::Options
+  #merge
+    merges options with hashes
+    deeply merges two options
+    deeply merges options with nil
+    deeply merges options with options having nil sub-options
+    deeply merges options with hashes
+    #empty?
+      returns true only if all options are nil
+    #value?
+      returns true if any key has that value
+    #fetch
+      when the fetched key has no value
+        accepts block
+        needs a default if key is missing
+        uses falsey default
+      when the fetched key has a value
+        works with key
+        grabs value
+    #deep_dup
+      duplicate options and also suboptions
+    #from
+      works with hash with sub object
+      works with deep hash
+      respects inheritance
+      works with hash
+      is expected to raise NoMethodError
+      works with nil
+      works with options
+      works with options with sub object
+    #clear
+      clears the options
+    #delete
+      allows to remove value for key
+    #dup
+      duplicate options but not sub-options
+    #each_key
+      allows to iterate through keys
+    #key?
+      returns true if the key exists and is not nil
+    #each_value
+      allows to iterate through values
+    #memoized
+      accepts block
+      requires block
+    #update
+      updates options from hashes
+
+Faraday
+  has a version number
+  proxies to default_connection
+    proxied methods can be accessed
+    uses method_missing on Faraday if there is no proxyable method
+    proxies methods that exist on the default_connection
+
+Faraday::Response
+  is expected to raise RuntimeError
+  is expected to eq "text/plain"
+  is expected to be truthy
+  is expected to eq 404
+  is expected to eq "yikes"
+  is expected to eq "text/plain"
+  is expected to be falsey
+  #on_complete
+    can access response body in on_complete callback
+    parse body on finish
+    can access response body in on_complete callback
+  marshal serialization support
+    is expected to eq {"Content-Type"=>"text/plain"}
+    is expected to eq "yikes"
+    is expected to eq #<URI::HTTPS https://lostisland.github.io/faraday>
+    is expected to be nil
+    is expected to eq 404
+  #to_hash
+    is expected to eq {"Content-Type"=>"text/plain"}
+    is expected to eq "yikes"
+    is expected to be a kind of Hash
+    is expected to eq #<URI::HTTPS https://lostisland.github.io/faraday>
+    is expected to eq 404
+  #apply_request
+    is expected to eq :post
+    is expected to eq "yikes"
+
+Faraday::FlatParamsEncoder
+  decodes arrays
+  encodes empty array in hash
+  decodes boolean values
+  encodes boolean values
+  encodes boolean values in array
+  encodes unsorted when asked
+  behaves like a params encoder
+    raises type error for empty string
+    encodes nil
+    escapes safe buffer
+
+Faraday::ProxyOptions
+  allows hash access
+  #from
+    works with no auth
+    defaults to http
+    treats empty string as nil
+    works with nil
+    works with string
+
+Faraday::Response::Logger
+  does not log request body by default
+  logs response headers by default
+  logs method and url
+  does not log response body by default
+  logs filter headers
+  logs status
+  still returns output
+  logs filter url
+  does not log error message by default
+  logs request headers by default
+  when logger without program name
+    logs without program name
+  when logger with program name
+    logs with program name
+  when logging request and response bodies
+    log response body object
+    logs filter body
+    log request and response body
+  when logging headers and errors
+    logs error message
+  when logging response body
+    log only response body
+  when logging errors
+    logs error message
+  with custom formatter
+    logs with custom formatter
+  with default formatter
+    delegates logging to the formatter
+    when no route
+      delegates logging to the formatter
+  when not logging response headers
+    does not log response headers if option is false
+  without configuration
+    defaults to stdout
+  when using log_level
+    logs headers on the debug level
+    does not log request/response body on the info level
+    logs request/request body on the specified level (debug)
+    does not log headers on the info level
+  when not logging request headers
+    does not log request headers if option is false
+  when logging request body
+    log only request body
+
+Faraday::Env
+  handle verify_hostname when fetching
+  allows to access members
+  allows to access string non members
+  ignores false when fetching
+  retains custom members
+  allows to access symbol non members
+  #body
+    when response is not finished yet
+      returns the request body
+    when response is finished
+      allows to access request_body
+      returns the response body
+      allows to access response_body
+
+Faraday::MiddlewareRegistry
+  allows to register with string
+  allows to register with symbol
+  allows to register with Proc
+  allows to register with constant
 
 Faraday::Error
   .initialize
-    with exception only
-      is expected to eq #<RuntimeError: test>
+    with exception string and response hash
+      is expected to eq {:status=>400}
+      is expected to eq "#<Faraday::Error response={:status=>400}>"
       is expected to be nil
-      is expected to eq "test"
-      is expected to eq "#<Faraday::Error wrapped=#<RuntimeError: test>>"
       is expected to be nil
+      is expected to eq "custom message"
       is expected to be nil
+      is expected to eq 400
+    with string
       is expected to be nil
-      is expected to eq nil
-    with exception string and response hash
+      is expected to eq "custom message"
       is expected to be nil
+      is expected to eq "#<Faraday::Error #<Faraday::Error: custom message>>"
       is expected to be nil
       is expected to be nil
-      is expected to eq "#<Faraday::Error response={:status=>400}>"
-      is expected to eq "custom message"
-      is expected to eq {:status=>400}
+      is expected to be nil
+    with response hash
       is expected to eq 400
-    with anything else #to_s
       is expected to be nil
       is expected to be nil
       is expected to be nil
-      is expected to eq "#<Faraday::Error #<Faraday::Error: [\"error1\", \"error2\"]>>"
+      is expected to eq {:status=>400}
+      is expected to eq "#<Faraday::Error response={:status=>400}>"
+      is expected to eq "the server responded with status 400"
+    with anything else #to_s
       is expected to be nil
       is expected to be nil
-      is expected to eq "[\"error1\", \"error2\"]"
-    with string
+      is expected to eq "#<Faraday::Error #<Faraday::Error: [\"error1\", \"error2\"]>>"
       is expected to be nil
+      is expected to eq "[\"error1\", \"error2\"]"
       is expected to be nil
       is expected to be nil
-      is expected to eq "custom message"
+    with exception only
+      is expected to eq #<RuntimeError: test>
       is expected to be nil
+      is expected to eq "#<Faraday::Error wrapped=#<RuntimeError: test>>"
       is expected to be nil
-      is expected to eq "#<Faraday::Error #<Faraday::Error: custom message>>"
-    with exception and response object
-      is expected to eq {"Content-Type"=>"application/json"}
-      is expected to eq #<RuntimeError: test>
       is expected to eq nil
-      is expected to eq "test"
-      is expected to eq {:test=>"test"}
-      is expected to eq #<Faraday::Response:0xf493cf20 @env=#<Faraday::Env @response_headers={"Content-Type"=>"application/json"} @status=400 @response_body={:test=>"test"}>, @on_complete_callbacks=[]>
-      is expected to eq 400
-    with response hash
-      is expected to eq {:status=>400}
-      is expected to be nil
-      is expected to eq "the server responded with status 400"
-      is expected to eq "#<Faraday::Error response={:status=>400}>"
       is expected to be nil
       is expected to be nil
+      is expected to eq "test"
+    with exception and response object
+      is expected to eq {:test=>"test"}
       is expected to eq 400
+      is expected to eq nil
+      is expected to eq #<RuntimeError: test>
+      is expected to eq {"Content-Type"=>"application/json"}
+      is expected to eq "test"
+      is expected to eq #<Faraday::Response:0xf4a89694 @env=#<Faraday::Env @response_headers={"Content-Type"=>"application/json"} @status=400 @response_body={:test=>"test"}>, @on_complete_callbacks=[]>
 
-Faraday::Request::Authorization
-  authorization
-    when passed a callable
-      is expected to eq "Bearer custom_from_callable"
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when passed a string
-      is expected to eq "Bearer custom"
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when passed a proc
-      is expected to eq "Bearer custom_from_proc"
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when passed too many arguments
-      is expected to raise ArgumentError
-      and request already has an authentication header
-        does not interfere with existing authorization
-    with an argument
-      when passed a lambda
-        is expected to eq "Bearer lambda crunchy surprise"
-        and request already has an authentication header
-          does not interfere with existing authorization
-      when passed a callable with an argument
-        is expected to eq "Bearer callable crunchy surprise"
-        and request already has an authentication header
-          does not interfere with existing authorization
-      when passed a proc
-        is expected to eq "Bearer proc crunchy surprise"
-        and request already has an authentication header
-          does not interfere with existing authorization
-  basic_auth
-    when passed very long values
-      is expected to eq "Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU...UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBOg=="
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when passed correct params
-      is expected to eq "Basic YWxhZGRpbjpvcGVuc2VzYW1l"
-      and request already has an authentication header
-        does not interfere with existing authorization
+Faraday::RackBuilder
+  with custom adapter only
+    is expected to be nil
+    is expected to eq Faraday::Adapter::Test
+  when a middleware is added with named arguments
+    adds a handler to construct response adapter with options passed to response
+  with custom empty block
+    is expected to eq Faraday::Adapter::Test
+    is expected to be nil
+  when a plain adapter is added with named arguments
+    adds a handler to construct adapter with options passed to adapter
+  with custom handler and adapter
+    allows to compare handlers
+    locks the stack after making a request
+    dup stack is unlocked
+  when a middleware is added with named arguments
+    adds a handler to construct request adapter with options passed to request
+  when having two handlers
+    allows to swap handlers
+    allows insert_before
+    allows to delete a handler
+    allows insert_after
+  when adapter is added with named options
+    adds a handler to construct adapter with named options
+  when handlers are directly added or updated
+    adds a handler with options passed to swap
+    adds a handler with options passed to insert_after
+    adds a handler to construct adapter with options passed to insert
+  with default stack
+    is expected to eq Faraday::Adapter::Test
+    is expected to eq Faraday::Request::UrlEncoded
+  when middleware is added with named arguments
+    adds a handler to construct middleware with options passed to use
+  when having a single handler
+    is expected to eq [Apple]
+    allows insert_after
+    allows use
+    allows insert_before
+    raises an error trying to use an unregistered symbol
+
+Faraday::Response::RaiseError
+  raises Faraday::UnauthorizedError for 401 responses
+  raises Faraday::BadRequestError for 400 responses
+  raises Faraday::ConflictError for 409 responses
+  raises no exception for 200 responses
+  raises Faraday::ClientError for other 4xx responses
+  raises Faraday::ForbiddenError for 403 responses
+  raises Faraday::ResourceNotFound for 404 responses
+  raises Faraday::RequestTimeoutError for 408 responses
+  raises Faraday::TooManyRequestsError for 429 responses
+  raises Faraday::ServerError for 500 responses
+  raises Faraday::ProxyAuthError for 407 responses
+  raises Faraday::NilStatusError for nil status in response
+  raises Faraday::UnprocessableEntityError for 422 responses
+  allowing certain status codes
+    does not raise an error for allowed status codes
+    raises an error for status codes that are not explicitly allowed
+  request info
+    returns the request info in the exception
+    DEFAULT_OPTION: include_request
+      when application sets default_options `include_request: false`
+        and when include_request option is explicitly set for instance
+          includes request info in the exception
+        and when include_request option is omitted
+          does not include request info in the exception
+      when RaiseError DEFAULT_OPTION (include_request: true) is used
+        includes request info in the exception
 
 Faraday::Request
   supports marshal serialization
@@ -1800,16 +1930,25 @@
     is expected to eq :post
   when setting the url on setup with a path including params
     is expected to eq {"a"=>"1", "b"=>"2"}
-    is expected to eq "foo.json"
     is expected to eq "http://httpbingo.org/api/foo.json?a=1&b=2"
+    is expected to eq "foo.json"
+  with global request options set
+    is expected to eq 3
+    is expected to eq 3
+    is expected to eq 5
+    is expected to eq 5
+    and per-request options set
+      is expected to eq 5
+      is expected to eq "boo"
+      is expected to eq 10
+      is expected to eq 10
+      is expected to eq 5
+      is expected to eq {:bar=>"bar", :foo=>"foo"}
+      is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"}
   when setting the url on setup with a URI
-    is expected to eq {"a"=>"1"}
     is expected to eq #<URI::Generic foo.json>
     is expected to eq "http://httpbingo.org/api/foo.json?a=1"
-  when nothing particular is configured
-    is expected to eq :get
-    is expected to be falsey
-    is expected to be falsey
+    is expected to eq {"a"=>"1"}
   when setting the body on setup
     is expected to eq "hi"
     is expected to eq "hi"
@@ -1817,379 +1956,276 @@
     is expected to eq "1.0"
     is expected to eq "Faraday"
     is expected to eq "Faraday"
-  with global request options set
-    is expected to eq 5
-    is expected to eq 5
-    is expected to eq 3
-    is expected to eq 3
-    and per-request options set
-      is expected to eq 5
-      is expected to eq 10
-      is expected to eq "boo"
-      is expected to eq 5
-      is expected to eq {:bar=>"bar", :foo=>"foo"}
-      is expected to eq 10
-      is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"}
   when setting the url on setup with a string path and params
+    is expected to eq "foo.json"
     is expected to eq {"a"=>1}
     is expected to eq "http://httpbingo.org/api/foo.json?a=1"
-    is expected to eq "foo.json"
+  when nothing particular is configured
+    is expected to be falsey
+    is expected to be falsey
+    is expected to eq :get
 
-Faraday::Response::RaiseError
-  raises Faraday::BadRequestError for 400 responses
-  raises Faraday::ForbiddenError for 403 responses
-  raises Faraday::UnprocessableEntityError for 422 responses
-  raises no exception for 200 responses
-  raises Faraday::ServerError for 500 responses
-  raises Faraday::NilStatusError for nil status in response
-  raises Faraday::ResourceNotFound for 404 responses
-  raises Faraday::ProxyAuthError for 407 responses
-  raises Faraday::TooManyRequestsError for 429 responses
-  raises Faraday::RequestTimeoutError for 408 responses
-  raises Faraday::UnauthorizedError for 401 responses
-  raises Faraday::ClientError for other 4xx responses
-  raises Faraday::ConflictError for 409 responses
-  allowing certain status codes
-    raises an error for status codes that are not explicitly allowed
-    does not raise an error for allowed status codes
-  request info
-    returns the request info in the exception
-    DEFAULT_OPTION: include_request
-      when RaiseError DEFAULT_OPTION (include_request: true) is used
-        includes request info in the exception
-      when application sets default_options `include_request: false`
-        and when include_request option is omitted
-          does not include request info in the exception
-        and when include_request option is explicitly set for instance
-          includes request info in the exception
+Faraday::Request::UrlEncoded
+  works with unicode
+  works with no headers
+  works with nested keys
+  works with files
+  works with nested params
+  ignores custom content type
+  works with non nested params
+  works with with headers
+  does nothing without payload
+  customising default_space_encoding
+    uses the custom character to encode spaces
+
+Faraday::RequestOptions
+  allows to set the request proxy
 
 Faraday::Middleware
-  #on_request
-    is called by #call
+  options
+    when options are passed to the middleware
+      accepts options when initialized
   #on_error
     is called by #call
+  #close
+    with app that supports #close
+      should issue warning
+    with app that doesn't support #close
+      should issue warning
+  #on_request
+    is called by #call
   ::default_options
-    with FARADAY::MIDDLEWARE DEFAULT_OPTIONS and with Subclass DEFAULT_OPTIONS
+    with subclass DEFAULT_OPTIONS defined
       and without application options configured
         is expected to eq "ok"
         has only subclass defaults
+      and with one application's options changed
+        is expected to eq "ok"
+        only updates default options of target subclass
       and with two applications' options changed
-        updates subclasses and parent independent of each other
         is expected to eq "ok"
+        updates subclasses and parent independent of each other
         is expected to eq "ok"
-    default_options input validation
-      raises error if subclass option does not exist
-      raises error if Faraday::Middleware option does not exist
-    with subclass DEFAULT_OPTIONS defined
+    with FARADAY::MIDDLEWARE DEFAULT_OPTIONS and with Subclass DEFAULT_OPTIONS
       and with two applications' options changed
         updates subclasses and parent independent of each other
         is expected to eq "ok"
         is expected to eq "ok"
-      and with one application's options changed
-        only updates default options of target subclass
-        is expected to eq "ok"
       and without application options configured
-        is expected to eq "ok"
         has only subclass defaults
-  options
-    when options are passed to the middleware
-      accepts options when initialized
-  #close
-    with app that doesn't support #close
-      should issue warning
-    with app that supports #close
-      should issue warning
-
-Faraday::NestedParamsEncoder
-  encodes unsorted when asked
-  decodes nested final value overrides any type
-  decodes nested array mixed types
-  decodes arrays
-  decodes nested ignores malformed keys
-  encodes boolean values
-  encodes empty string array value
-  decodes hashes
-  decodes nested ignores invalid array
-  decodes nested arrays rack compat
-  encodes empty array value
-  decodes nested ignores repeated array notation
-  decodes nested subkeys dont have to be in brackets
-  encodes nil array value
-  encodes boolean values in array
-  encodes arrays indices when asked
-  encodes rack compat
-  when expecting hash but getting array
-    behaves like a wrong decoding
-      is expected to raise TypeError
-  behaves like a params encoder
-    escapes safe buffer
-    raises type error for empty string
-    encodes nil
-  when expecting array but getting string
-    behaves like a wrong decoding
-      is expected to raise TypeError
-  when expecting nested hash but getting non nested
-    behaves like a wrong decoding
-      is expected to raise TypeError
-  when expecting hash but getting string
-    behaves like a wrong decoding
-      is expected to raise TypeError
-  when expecting array but getting hash
-    behaves like a wrong decoding
-      is expected to raise TypeError
-
-Faraday::RackBuilder
-  when adapter is added with named options
-    adds a handler to construct adapter with named options
-  when a middleware is added with named arguments
-    adds a handler to construct request adapter with options passed to request
-  when having two handlers
-    allows insert_after
-    allows insert_before
-    allows to delete a handler
-    allows to swap handlers
-  when handlers are directly added or updated
-    adds a handler to construct adapter with options passed to insert
-    adds a handler with options passed to swap
-    adds a handler with options passed to insert_after
-  when middleware is added with named arguments
-    adds a handler to construct middleware with options passed to use
-  when having a single handler
-    allows use
-    raises an error trying to use an unregistered symbol
-    is expected to eq [Apple]
-    allows insert_after
-    allows insert_before
-  with custom adapter only
-    is expected to be nil
-    is expected to eq Faraday::Adapter::Test
-  with default stack
-    is expected to eq Faraday::Adapter::Test
-    is expected to eq Faraday::Request::UrlEncoded
-  when a middleware is added with named arguments
-    adds a handler to construct response adapter with options passed to response
-  with custom handler and adapter
-    dup stack is unlocked
-    allows to compare handlers
-    locks the stack after making a request
-  when a plain adapter is added with named arguments
-    adds a handler to construct adapter with options passed to adapter
-  with custom empty block
-    is expected to eq Faraday::Adapter::Test
-    is expected to be nil
-
-Faraday::RequestOptions
-  allows to set the request proxy
-
-Faraday::FlatParamsEncoder
-  encodes boolean values in array
-  encodes unsorted when asked
-  encodes empty array in hash
-  decodes boolean values
-  decodes arrays
-  encodes boolean values
-  behaves like a params encoder
-    escapes safe buffer
-    encodes nil
-    raises type error for empty string
-
-Faraday::Options
-  #merge
-    deeply merges options with hashes
-    deeply merges options with nil
-    deeply merges two options
-    deeply merges options with options having nil sub-options
-    merges options with hashes
-    #memoized
-      requires block
-      accepts block
-    #update
-      updates options from hashes
-    #each_value
-      allows to iterate through values
-    #each_key
-      allows to iterate through keys
-    #dup
-      duplicate options but not sub-options
-    #clear
-      clears the options
-    #deep_dup
-      duplicate options and also suboptions
-    #delete
-      allows to remove value for key
-    #value?
-      returns true if any key has that value
-    #empty?
-      returns true only if all options are nil
-    #key?
-      returns true if the key exists and is not nil
-    #from
-      works with hash
-      works with hash with sub object
-      works with deep hash
-      works with options with sub object
-      is expected to raise NoMethodError
-      respects inheritance
-      works with nil
-      works with options
-    #fetch
-      when the fetched key has a value
-        grabs value
-        works with key
-      when the fetched key has no value
-        uses falsey default
-        needs a default if key is missing
-        accepts block
+        is expected to eq "ok"
+    default_options input validation
+      raises error if Faraday::Middleware option does not exist
+      raises error if subclass option does not exist
 
 Faraday::Response::Json
-  chokes on invalid json
   includes the response on the ParsingError instance
+  chokes on invalid json
   JSON options
     passes relevant options to JSON parse
+  with preserving raw
+    parses json body
   with array type matching
     ignores json body of incorrect type
     parses json body of correct type
   HEAD responses
-    nullifies the body if it's two spaces
     nullifies the body if it's only one space
+    nullifies the body if it's two spaces
   no type matching
-    nullifies empty body
-    parses json body
     doesn't change nil body
-  with default regexp type matching
-    ignores json body of incorrect type
-    parses json body of correct type
-  with preserving raw
     parses json body
+    nullifies empty body
   with decoder
-    when decoder is passed as object
-      passes relevant options to specified decoder's load method
     when decoder is passed as an object-method pair
       passes relevant options to specified decoder's method
+    when decoder is passed as object
+      passes relevant options to specified decoder's load method
     when decoder is not passed
       passes relevant options to JSON parse even when nil responds to :load
       passes relevant options to JSON parse
+  with default regexp type matching
+    ignores json body of incorrect type
+    parses json body of correct type
 
-Faraday::Utils::Headers
-  #delete
-    is expected to eq "application/json"
-    is expected to be nil
-    is expected not to include "content-type"
-    is expected to eq 0
-  #dig
-    is expected to eq "application/json"
-    is expected to be nil
-    is expected to eq "application/json"
-    is expected to eq "application/json"
-  #parse
-    when response headers values include a colon
-      is expected to eq "http://httpbingo.org/"
-    when response headers leave http status line out
-      is expected to eq "text/html"
-      is expected to eq "text/html"
-      is expected to eq ["Content-Type"]
-    when response headers include a blank line
-      is expected to eq "text/html"
-    when response headers include already stored keys
-      is expected to eq "8, 123"
-  when Content-Type is set to application/json
-    is expected to eq ["Content-Type"]
-    is expected to eq "application/json"
-    is expected to include "content-type"
-    is expected to eq "application/json"
-    is expected to eq "application/json"
-  when Content-Type is set to application/xml
-    is expected to eq "application/xml"
-    is expected to eq "application/xml"
-    is expected to eq ["Content-Type"]
-    is expected to eq "application/xml"
-    is expected to include "content-type"
-  #fetch
-    is expected to eq "default"
-    is expected to eq "Invalid key"
-    is expected to be nil
-    is expected to eq "application/json"
-    is expected to eq false
-    raises an error if key not found
-    is expected to eq "application/json"
-    is expected to eq "application/json"
-    calls a block when provided
+Faraday::AdapterRegistry
+  #initialize
+    is expected to raise NameError
+    caches lookups with implicit name
+    is expected to raise NameError
+    looks up class by string name
+    looks up class by symbol name
+    caches lookups with explicit name
 
-Faraday::Env
-  ignores false when fetching
-  allows to access symbol non members
-  allows to access string non members
-  retains custom members
-  allows to access members
-  handle verify_hostname when fetching
-  #body
-    when response is finished
-      allows to access request_body
-      returns the response body
-      allows to access response_body
-    when response is not finished yet
-      returns the request body
+Faraday::Adapter::Test
+  params parsing
+    with nested encoder
+      is expected to eq "a"
+    with default encoder
+      is expected to eq "a"
+    with flat encoder
+      is expected to eq "a"
+  ignoring unspecified get params
+    with multiple params
+      is expected to eq "a"
+    without params
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    with single param
+      is expected to eq "a"
+  for request with non default params encoder
+    behaves like raise NotFound when params do not satisfy the flat param values
+      with {:a=>["x", "z", "y"]}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the flat param values
+      with {:a=>["x"]}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the flat param values
+      with {:a=>["x", "y"]}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    when all flat param values are correctly set
+      is expected to eq 200
+    behaves like raise NotFound when params do not satisfy the flat param values
+      with {:b=>["x", "y", "z"]}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+  with simple path sets headers
+    is expected to eq "text/html"
+  with get params
+    is expected to eq "a"
+  with http headers
+    without header
+      is expected to eq "b"
+    with header
+      is expected to eq "a"
+  can handle regular expression path with captured result
+    is expected to eq "show specified"
+  can handle regular expression path
+    is expected to eq "show"
+  with host points to the right stub
+    is expected to eq "domain: hello"
+  with simple path sets status
+    is expected to eq 200
+  strict_mode
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {"X-C"=>"hello"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck", :"x-c"=>"Hi"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:b=>"xy"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck", :user_agent=>"Unknown"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:a=>"12"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    when params and headers are exactly set with a custom user agent
+      is expected to eq 200
+    body_match?
+      when trying without any args for body
+        is expected to eq 200
+      when trying with proc body stubs
+        is expected to eq 200
+      when trying with string body stubs
+        is expected to eq 200
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:a=>"12", :b=>"xyz"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    when strict_mode is disabled
+      behaves like does not raise NotFound even when headers do not satisfy the strict check
+        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :user_agent=>"Special Agent"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when headers do not satisfy the strict check
+        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when headers do not satisfy the strict check
+        with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when headers do not satisfy the strict check
+        with {:authorization=>"Bearer m_ck", :user_agent=>"My Agent", :x_special=>"special"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when params do not satisfy the strict check
+        with {:a=>"12", :b=>"xy"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when params do not satisfy the strict check
+        with {:additional=>"special", :a=>"12", :b=>"xy", :c=>"hello"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when params do not satisfy the strict check
+        with {:a=>"12", :b=>"xy", :c=>"hello"}
+          is expected to eq 200
+      behaves like does not raise NotFound even when headers do not satisfy the strict check
+        with {:authorization=>"Bearer m_ck", :"x-c"=>"hello", :x_special=>"special"}
+          is expected to eq 200
+    when params and headers are exactly set
+      is expected to eq 200
+    behaves like raise NotFound when headers do not satisfy the strict check
+      with {:authorization=>"Basic m_ck", :"x-c"=>"hello"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:a=>"123", :b=>"xy"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    behaves like raise NotFound when params do not satisfy the strict check
+      with {:a=>"12", :b=>"xy", :c=>"hello"}
+        is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+  with simple path sets body
+    is expected to eq "hello"
+  yielding env to stubs
+    is expected to eq "a"
+  can be called several times
+    is expected to eq "hello"
+  request timeout
+    when request is too slow
+      raises an exception
+    when request is within timeout
+      is expected to eq 200
+  can handle single parameter block
+    is expected to eq "get"
+  raising an error if no stub was found
+    for specified host
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    for request without specified header
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+    for request
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+  different outcomes for the same request
+    the second request
+      is expected to eq "world"
+    the first request
+      is expected to eq "hello"
 
 Faraday::Utils
-  .deep_merge!
-    recursively merges the headers
-    when a target hash has an Options Struct value
-      does not overwrite an Options Struct value
   headers parsing
     parse headers for aggregated responses
   URI parsing
+    parses with default parser
+    replaces headers hash
     escapes safe buffer
     parses with block
-    replaces headers hash
-    parses with default parser
     parses with URI
+  .deep_merge!
+    recursively merges the headers
+    when a target hash has an Options Struct value
+      does not overwrite an Options Struct value
 
-Faraday
-  has a version number
-  proxies to default_connection
-    uses method_missing on Faraday if there is no proxyable method
-    proxies methods that exist on the default_connection
-    proxied methods can be accessed
-
-Faraday::Response
-  is expected to be truthy
-  is expected to eq 404
-  is expected to eq "yikes"
-  is expected to raise RuntimeError
-  is expected to be falsey
-  is expected to eq "text/plain"
-  is expected to eq "text/plain"
-  marshal serialization support
-    is expected to be nil
-    is expected to eq {"Content-Type"=>"text/plain"}
-    is expected to eq #<URI::HTTPS https://lostisland.github.io/faraday>
-    is expected to eq 404
-    is expected to eq "yikes"
-  #on_complete
-    can access response body in on_complete callback
-    parse body on finish
-    can access response body in on_complete callback
-  #apply_request
-    is expected to eq :post
-    is expected to eq "yikes"
-  #to_hash
-    is expected to eq 404
-    is expected to eq "yikes"
-    is expected to eq #<URI::HTTPS https://lostisland.github.io/faraday>
-    is expected to eq {"Content-Type"=>"text/plain"}
-    is expected to be a kind of Hash
-
-Faraday::Adapter
-  #request_timeout
-    gets :read timeout
-    gets :open timeout
-    attempts unknown timeout type
-    gets :write timeout
-
-Finished in 1.58 seconds (files took 2.84 seconds to load)
+Finished in 0.50447 seconds (files took 0.80333 seconds to load)
 595 examples, 0 failures
 
-Randomized with seed 59160
+Randomized with seed 53414
 
 Coverage report generated for RSpec to /build/reproducible-path/ruby-faraday-2.12.2/coverage. 0 / 0 LOC (100.0%) covered.
 [Coveralls] Outside the CI environment, not sending data.
@@ -2223,12 +2259,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/128936/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/6539 and its subdirectories
-I: Current time: Sat Mar 22 18:48:26 -12 2025
-I: pbuilder-time-stamp: 1742712506
+I: removing directory /srv/workspace/pbuilder/128936 and its subdirectories
+I: Current time: Sun Apr 26 03:12:11 +14 2026
+I: pbuilder-time-stamp: 1777122731