Diff of the two buildlogs:

--
--- b1/build.log	2023-05-14 12:55:31.399725206 +0000
+++ b2/build.log	2023-05-14 13:10:18.900676355 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Sun May 14 00:46:28 -12 2023
-I: pbuilder-time-stamp: 1684068388
+I: Current time: Mon May 15 02:55:45 +14 2023
+I: pbuilder-time-stamp: 1684068945
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/bookworm-reproducible-base.tgz]
 I: copying local configuration
@@ -16,7 +16,7 @@
 I: copying [./ruby-faraday_1.1.0.orig.tar.gz]
 I: copying [./ruby-faraday_1.1.0-7.debian.tar.xz]
 I: Extracting source
-gpgv: Signature made Sun Jan 23 08:17:31 2022 -12
+gpgv: Signature made Mon Jan 24 10:17:31 2022 +14
 gpgv:                using RSA key D30863E26020E543F4719A838F53E0193B294B75
 gpgv: Can't check signature: No public key
 dpkg-source: warning: cannot verify inline signature for ./ruby-faraday_1.1.0-7.dsc: no acceptable signature found
@@ -31,135 +31,167 @@
 dpkg-source: info: applying skip-test-failing-in-ubuntu.patch
 I: using fakeroot in build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/24343/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/D01_modify_environment starting
+debug: Running on jtx1b.
+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 May 15 02:56 /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/11437/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='armhf'
-  DEBIAN_FRONTEND='noninteractive'
-  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3'
-  DISTRIBUTION='bookworm'
-  HOME='/root'
-  HOST_ARCH='armhf'
+  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]="15" [3]="1" [4]="release" [5]="arm-unknown-linux-gnueabihf")
+  BASH_VERSION='5.2.15(1)-release'
+  BUILDDIR=/build
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=armhf
+  DEBIAN_FRONTEND=noninteractive
+  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4'
+  DIRSTACK=()
+  DISTRIBUTION=bookworm
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=arm
+  HOST_ARCH=armhf
   IFS=' 	
   '
-  INVOCATION_ID='96713d72bf274f85828cef5b4e9bde74'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  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='24343'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=05647017b3814e62b291af1f6533ebf6
+  LANG=C
+  LANGUAGE=it_CH:it
+  LC_ALL=C
+  MACHTYPE=arm-unknown-linux-gnueabihf
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnueabihf
+  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=11437
   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.wqCoQ4yg/pbuilderrc_DgzZ --distribution bookworm --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.wqCoQ4yg/b1 --logfile b1/build.log ruby-faraday_1.1.0-7.dsc'
-  SUDO_GID='113'
-  SUDO_UID='107'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://10.0.0.15:3142/'
+  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.wqCoQ4yg/pbuilderrc_HBwt --distribution bookworm --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/bookworm-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.wqCoQ4yg/b2 --logfile b2/build.log --extrapackages usrmerge ruby-faraday_1.1.0-7.dsc'
+  SUDO_GID=114
+  SUDO_UID=110
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://10.0.0.15:3142/
 I: uname -a
-  Linux cbxi4a 5.10.0-23-armmp #1 SMP Debian 5.10.179-1 (2023-05-12) armv7l GNU/Linux
+  Linux i-capture-the-hostname 5.10.0-23-arm64 #1 SMP Debian 5.10.179-1 (2023-05-12) aarch64 GNU/Linux
 I: ls -l /bin
   total 5072
-  -rwxr-xr-x 1 root root 838488 Apr 23 09:24 bash
-  -rwxr-xr-x 3 root root  67144 Sep 18  2022 bunzip2
-  -rwxr-xr-x 3 root root  67144 Sep 18  2022 bzcat
-  lrwxrwxrwx 1 root root      6 Sep 18  2022 bzcmp -> bzdiff
-  -rwxr-xr-x 1 root root   2225 Sep 18  2022 bzdiff
-  lrwxrwxrwx 1 root root      6 Sep 18  2022 bzegrep -> bzgrep
-  -rwxr-xr-x 1 root root   4893 Nov 27  2021 bzexe
-  lrwxrwxrwx 1 root root      6 Sep 18  2022 bzfgrep -> bzgrep
-  -rwxr-xr-x 1 root root   3775 Sep 18  2022 bzgrep
-  -rwxr-xr-x 3 root root  67144 Sep 18  2022 bzip2
-  -rwxr-xr-x 1 root root  67112 Sep 18  2022 bzip2recover
-  lrwxrwxrwx 1 root root      6 Sep 18  2022 bzless -> bzmore
-  -rwxr-xr-x 1 root root   1297 Sep 18  2022 bzmore
-  -rwxr-xr-x 1 root root  67632 Sep 20  2022 cat
-  -rwxr-xr-x 1 root root  67676 Sep 20  2022 chgrp
-  -rwxr-xr-x 1 root root  67644 Sep 20  2022 chmod
-  -rwxr-xr-x 1 root root  67684 Sep 20  2022 chown
-  -rwxr-xr-x 1 root root 133532 Sep 20  2022 cp
-  -rwxr-xr-x 1 root root 132868 Jan  5 01:20 dash
-  -rwxr-xr-x 1 root root 133220 Sep 20  2022 date
-  -rwxr-xr-x 1 root root  67732 Sep 20  2022 dd
-  -rwxr-xr-x 1 root root  68104 Sep 20  2022 df
-  -rwxr-xr-x 1 root root 133632 Sep 20  2022 dir
-  -rwxr-xr-x 1 root root  59128 Mar 22 21:02 dmesg
-  lrwxrwxrwx 1 root root      8 Dec 19 01:33 dnsdomainname -> hostname
-  lrwxrwxrwx 1 root root      8 Dec 19 01:33 domainname -> hostname
-  -rwxr-xr-x 1 root root  67560 Sep 20  2022 echo
-  -rwxr-xr-x 1 root root     41 Jan 24 02:43 egrep
-  -rwxr-xr-x 1 root root  67548 Sep 20  2022 false
-  -rwxr-xr-x 1 root root     41 Jan 24 02:43 fgrep
-  -rwxr-xr-x 1 root root  55748 Mar 22 21:02 findmnt
-  -rwsr-xr-x 1 root root  26208 Mar 22 20:15 fusermount
-  -rwxr-xr-x 1 root root 128608 Jan 24 02:43 grep
-  -rwxr-xr-x 2 root root   2346 Apr  9  2022 gunzip
-  -rwxr-xr-x 1 root root   6447 Apr  9  2022 gzexe
-  -rwxr-xr-x 1 root root  64220 Apr  9  2022 gzip
-  -rwxr-xr-x 1 root root  67032 Dec 19 01:33 hostname
-  -rwxr-xr-x 1 root root  67720 Sep 20  2022 ln
-  -rwxr-xr-x 1 root root  35132 Mar 22 21:51 login
-  -rwxr-xr-x 1 root root 133632 Sep 20  2022 ls
-  -rwxr-xr-x 1 root root 136808 Mar 22 21:02 lsblk
-  -rwxr-xr-x 1 root root  67800 Sep 20  2022 mkdir
-  -rwxr-xr-x 1 root root  67764 Sep 20  2022 mknod
-  -rwxr-xr-x 1 root root  67596 Sep 20  2022 mktemp
-  -rwxr-xr-x 1 root root  38504 Mar 22 21:02 more
-  -rwsr-xr-x 1 root root  38496 Mar 22 21:02 mount
-  -rwxr-xr-x 1 root root   9824 Mar 22 21:02 mountpoint
-  -rwxr-xr-x 1 root root 133532 Sep 20  2022 mv
-  lrwxrwxrwx 1 root root      8 Dec 19 01:33 nisdomainname -> hostname
-  lrwxrwxrwx 1 root root     14 Apr  2 18:25 pidof -> /sbin/killall5
-  -rwxr-xr-x 1 root root  67608 Sep 20  2022 pwd
-  lrwxrwxrwx 1 root root      4 Apr 23 09:24 rbash -> bash
-  -rwxr-xr-x 1 root root  67600 Sep 20  2022 readlink
-  -rwxr-xr-x 1 root root  67672 Sep 20  2022 rm
-  -rwxr-xr-x 1 root root  67600 Sep 20  2022 rmdir
-  -rwxr-xr-x 1 root root  67400 Nov  2  2022 run-parts
-  -rwxr-xr-x 1 root root 133372 Jan  5 07:55 sed
-  lrwxrwxrwx 1 root root      4 Jan  5 01:20 sh -> dash
-  -rwxr-xr-x 1 root root  67584 Sep 20  2022 sleep
-  -rwxr-xr-x 1 root root  67644 Sep 20  2022 stty
-  -rwsr-xr-x 1 root root  50800 Mar 22 21:02 su
-  -rwxr-xr-x 1 root root  67584 Sep 20  2022 sync
-  -rwxr-xr-x 1 root root 336764 Apr  6 02:25 tar
-  -rwxr-xr-x 1 root root  67144 Nov  2  2022 tempfile
-  -rwxr-xr-x 1 root root 133224 Sep 20  2022 touch
-  -rwxr-xr-x 1 root root  67548 Sep 20  2022 true
-  -rwxr-xr-x 1 root root   9768 Mar 22 20:15 ulockmgr_server
-  -rwsr-xr-x 1 root root  22108 Mar 22 21:02 umount
-  -rwxr-xr-x 1 root root  67572 Sep 20  2022 uname
-  -rwxr-xr-x 2 root root   2346 Apr  9  2022 uncompress
-  -rwxr-xr-x 1 root root 133632 Sep 20  2022 vdir
-  -rwxr-xr-x 1 root root  42608 Mar 22 21:02 wdctl
-  lrwxrwxrwx 1 root root      8 Dec 19 01:33 ypdomainname -> hostname
-  -rwxr-xr-x 1 root root   1984 Apr  9  2022 zcat
-  -rwxr-xr-x 1 root root   1678 Apr  9  2022 zcmp
-  -rwxr-xr-x 1 root root   6460 Apr  9  2022 zdiff
-  -rwxr-xr-x 1 root root     29 Apr  9  2022 zegrep
-  -rwxr-xr-x 1 root root     29 Apr  9  2022 zfgrep
-  -rwxr-xr-x 1 root root   2081 Apr  9  2022 zforce
-  -rwxr-xr-x 1 root root   8103 Apr  9  2022 zgrep
-  -rwxr-xr-x 1 root root   2206 Apr  9  2022 zless
-  -rwxr-xr-x 1 root root   1842 Apr  9  2022 zmore
-  -rwxr-xr-x 1 root root   4577 Apr  9  2022 znew
-I: user script /srv/workspace/pbuilder/24343/tmp/hooks/D02_print_environment finished
+  -rwxr-xr-x 1 root root 838488 Apr 24 11:24 bash
+  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bunzip2
+  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bzcat
+  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzcmp -> bzdiff
+  -rwxr-xr-x 1 root root   2225 Sep 19  2022 bzdiff
+  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzegrep -> bzgrep
+  -rwxr-xr-x 1 root root   4893 Nov 28  2021 bzexe
+  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzfgrep -> bzgrep
+  -rwxr-xr-x 1 root root   3775 Sep 19  2022 bzgrep
+  -rwxr-xr-x 3 root root  67144 Sep 19  2022 bzip2
+  -rwxr-xr-x 1 root root  67112 Sep 19  2022 bzip2recover
+  lrwxrwxrwx 1 root root      6 Sep 19  2022 bzless -> bzmore
+  -rwxr-xr-x 1 root root   1297 Sep 19  2022 bzmore
+  -rwxr-xr-x 1 root root  67632 Sep 21  2022 cat
+  -rwxr-xr-x 1 root root  67676 Sep 21  2022 chgrp
+  -rwxr-xr-x 1 root root  67644 Sep 21  2022 chmod
+  -rwxr-xr-x 1 root root  67684 Sep 21  2022 chown
+  -rwxr-xr-x 1 root root 133532 Sep 21  2022 cp
+  -rwxr-xr-x 1 root root 132868 Jan  6 03:20 dash
+  -rwxr-xr-x 1 root root 133220 Sep 21  2022 date
+  -rwxr-xr-x 1 root root  67732 Sep 21  2022 dd
+  -rwxr-xr-x 1 root root  68104 Sep 21  2022 df
+  -rwxr-xr-x 1 root root 133632 Sep 21  2022 dir
+  -rwxr-xr-x 1 root root  59128 Mar 23 23:02 dmesg
+  lrwxrwxrwx 1 root root      8 Dec 20 03:33 dnsdomainname -> hostname
+  lrwxrwxrwx 1 root root      8 Dec 20 03:33 domainname -> hostname
+  -rwxr-xr-x 1 root root  67560 Sep 21  2022 echo
+  -rwxr-xr-x 1 root root     41 Jan 25 04:43 egrep
+  -rwxr-xr-x 1 root root  67548 Sep 21  2022 false
+  -rwxr-xr-x 1 root root     41 Jan 25 04:43 fgrep
+  -rwxr-xr-x 1 root root  55748 Mar 23 23:02 findmnt
+  -rwsr-xr-x 1 root root  26208 Mar 23 22:15 fusermount
+  -rwxr-xr-x 1 root root 128608 Jan 25 04:43 grep
+  -rwxr-xr-x 2 root root   2346 Apr 10  2022 gunzip
+  -rwxr-xr-x 1 root root   6447 Apr 10  2022 gzexe
+  -rwxr-xr-x 1 root root  64220 Apr 10  2022 gzip
+  -rwxr-xr-x 1 root root  67032 Dec 20 03:33 hostname
+  -rwxr-xr-x 1 root root  67720 Sep 21  2022 ln
+  -rwxr-xr-x 1 root root  35132 Mar 23 23:51 login
+  -rwxr-xr-x 1 root root 133632 Sep 21  2022 ls
+  -rwxr-xr-x 1 root root 136808 Mar 23 23:02 lsblk
+  -rwxr-xr-x 1 root root  67800 Sep 21  2022 mkdir
+  -rwxr-xr-x 1 root root  67764 Sep 21  2022 mknod
+  -rwxr-xr-x 1 root root  67596 Sep 21  2022 mktemp
+  -rwxr-xr-x 1 root root  38504 Mar 23 23:02 more
+  -rwsr-xr-x 1 root root  38496 Mar 23 23:02 mount
+  -rwxr-xr-x 1 root root   9824 Mar 23 23:02 mountpoint
+  -rwxr-xr-x 1 root root 133532 Sep 21  2022 mv
+  lrwxrwxrwx 1 root root      8 Dec 20 03:33 nisdomainname -> hostname
+  lrwxrwxrwx 1 root root     14 Apr  3 20:25 pidof -> /sbin/killall5
+  -rwxr-xr-x 1 root root  67608 Sep 21  2022 pwd
+  lrwxrwxrwx 1 root root      4 Apr 24 11:24 rbash -> bash
+  -rwxr-xr-x 1 root root  67600 Sep 21  2022 readlink
+  -rwxr-xr-x 1 root root  67672 Sep 21  2022 rm
+  -rwxr-xr-x 1 root root  67600 Sep 21  2022 rmdir
+  -rwxr-xr-x 1 root root  67400 Nov  3  2022 run-parts
+  -rwxr-xr-x 1 root root 133372 Jan  6 09:55 sed
+  lrwxrwxrwx 1 root root      9 May 15 02:56 sh -> /bin/bash
+  -rwxr-xr-x 1 root root  67584 Sep 21  2022 sleep
+  -rwxr-xr-x 1 root root  67644 Sep 21  2022 stty
+  -rwsr-xr-x 1 root root  50800 Mar 23 23:02 su
+  -rwxr-xr-x 1 root root  67584 Sep 21  2022 sync
+  -rwxr-xr-x 1 root root 336764 Apr  7 04:25 tar
+  -rwxr-xr-x 1 root root  67144 Nov  3  2022 tempfile
+  -rwxr-xr-x 1 root root 133224 Sep 21  2022 touch
+  -rwxr-xr-x 1 root root  67548 Sep 21  2022 true
+  -rwxr-xr-x 1 root root   9768 Mar 23 22:15 ulockmgr_server
+  -rwsr-xr-x 1 root root  22108 Mar 23 23:02 umount
+  -rwxr-xr-x 1 root root  67572 Sep 21  2022 uname
+  -rwxr-xr-x 2 root root   2346 Apr 10  2022 uncompress
+  -rwxr-xr-x 1 root root 133632 Sep 21  2022 vdir
+  -rwxr-xr-x 1 root root  42608 Mar 23 23:02 wdctl
+  lrwxrwxrwx 1 root root      8 Dec 20 03:33 ypdomainname -> hostname
+  -rwxr-xr-x 1 root root   1984 Apr 10  2022 zcat
+  -rwxr-xr-x 1 root root   1678 Apr 10  2022 zcmp
+  -rwxr-xr-x 1 root root   6460 Apr 10  2022 zdiff
+  -rwxr-xr-x 1 root root     29 Apr 10  2022 zegrep
+  -rwxr-xr-x 1 root root     29 Apr 10  2022 zfgrep
+  -rwxr-xr-x 1 root root   2081 Apr 10  2022 zforce
+  -rwxr-xr-x 1 root root   8103 Apr 10  2022 zgrep
+  -rwxr-xr-x 1 root root   2206 Apr 10  2022 zless
+  -rwxr-xr-x 1 root root   1842 Apr 10  2022 zmore
+  -rwxr-xr-x 1 root root   4577 Apr 10  2022 znew
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -444,7 +476,7 @@
 Get: 209 http://deb.debian.org/debian bookworm/main armhf ruby-sinatra all 3.0.5-3 [119 kB]
 Get: 210 http://deb.debian.org/debian bookworm/main armhf ruby-typhoeus all 1.4.0-3 [36.2 kB]
 Get: 211 http://deb.debian.org/debian bookworm/main armhf ruby-webmock all 3.18.1-2 [66.2 kB]
-Fetched 51.7 MB in 4s (11.9 MB/s)
+Fetched 51.7 MB in 5s (11.2 MB/s)
 debconf: delaying package configuration, since apt-utils is not installed
 Selecting previously unselected package libpython3.11-minimal:armhf.
 (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 ... 19329 files and directories currently installed.)
@@ -1316,10 +1348,17 @@
 Reading package lists...
 Building dependency tree...
 Reading state information...
+usrmerge is already the newest version (35).
 fakeroot is already the newest version (1.31-1.2).
 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
 I: Building the package
-I: Running cd /build/ruby-faraday-1.1.0/ && 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_1.1.0-7_source.changes
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/A99_set_merged_usr starting
+Re-configuring usrmerge...
+removed '/etc/unsupported-skip-usrmerge-conversion'
+The system has been successfully converted.
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/ruby-faraday-1.1.0/ && 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_1.1.0-7_source.changes
 dpkg-buildpackage: info: source package ruby-faraday
 dpkg-buildpackage: info: source version 1.1.0-7
 dpkg-buildpackage: info: source distribution unstable
@@ -1351,7 +1390,7 @@
    dh_prep -O--buildsystem=ruby
    dh_auto_install --destdir=debian/ruby-faraday/ -O--buildsystem=ruby
 	dh_ruby --install /build/ruby-faraday-1.1.0/debian/ruby-faraday
-/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230514-32385-zbf4sr/gemspec
+/usr/bin/ruby3.1 -S gem build --config-file /dev/null --verbose /tmp/d20230515-484-rurvze/gemspec
 Failed to load /dev/null because it doesn't contain valid YAML hash
 WARNING:  open-ended dependency on ruby2_keywords (>= 0) is not recommended
   use a bounded requirement, such as '~> x.y'
@@ -1360,7 +1399,7 @@
   Name: faraday
   Version: 1.1.0
   File: faraday-1.1.0.gem
-/usr/bin/ruby3.1 -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/d20230514-32385-zbf4sr/faraday-1.1.0.gem
+/usr/bin/ruby3.1 -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/d20230515-484-rurvze/faraday-1.1.0.gem
 Failed to load /dev/null because it doesn't contain valid YAML hash
 /build/ruby-faraday-1.1.0/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-1.1.0/lib/faraday.rb
 /build/ruby-faraday-1.1.0/debian/ruby-faraday/usr/share/rubygems-integration/all/gems/faraday-1.1.0/lib/faraday/adapter.rb
@@ -1441,694 +1480,196 @@
 RUBYLIB=. GEM_PATH=/build/ruby-faraday-1.1.0/debian/ruby-faraday/usr/share/rubygems-integration/all:/build/ruby-faraday-1.1.0/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/3.1.0:/var/lib/gems/3.1.0:/usr/local/lib/ruby/gems/3.1.0:/usr/lib/ruby/gems/3.1.0:/usr/lib/arm-linux-gnueabihf/ruby/gems/3.1.0:/usr/share/rubygems-integration/3.1.0:/usr/share/rubygems-integration/all:/usr/lib/arm-linux-gnueabihf/rubygems-integration/3.1.0 ruby3.1 -S rake -f debian/ruby-tests.rake
 /usr/bin/ruby3.1 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.12.0/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.12.0/exe/rspec ./spec/faraday/adapter/em_http_spec.rb ./spec/faraday/adapter/em_synchrony_spec.rb ./spec/faraday/adapter/excon_spec.rb ./spec/faraday/adapter/httpclient_spec.rb ./spec/faraday/adapter/net_http_persistent_spec.rb ./spec/faraday/adapter/net_http_spec.rb ./spec/faraday/adapter/rack_spec.rb ./spec/faraday/adapter/test_spec.rb ./spec/faraday/adapter/typhoeus_spec.rb ./spec/faraday/adapter_registry_spec.rb ./spec/faraday/adapter_spec.rb ./spec/faraday/composite_read_io_spec.rb ./spec/faraday/connection_spec.rb ./spec/faraday/error_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/multipart_spec.rb ./spec/faraday/request/retry_spec.rb ./spec/faraday/request/url_encoded_spec.rb ./spec/faraday/request_spec.rb ./spec/faraday/response/logger_spec.rb ./spec/faraday/response/middleware_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 19011
+Randomized with seed 52423
 
-Faraday::Response::Middleware
-  with a custom ResponseMiddleware but empty response
-    doesn't call the middleware for 204 responses
-    doesn't call the middleware for 304 responses
-    raises exception for 200 responses
-  with a custom ResponseMiddleware and private parse
-    parses the response
-  with a custom ResponseMiddleware
-    parses the response
-
-Faraday::Adapter::Test
-  can handle regular expression path
-    is expected to eq "show"
-  with simple path sets body
-    is expected to eq "hello"
-  can be called several times
-    is expected to eq "hello"
-  with http headers
-    with header
-      is expected to eq "a"
-    without header
-      is expected to eq "b"
-  can handle regular expression path with captured result
-    is expected to eq "show specified"
-  yielding env to stubs
-    is expected to eq "a"
-  with simple path sets status
-    is expected to eq 200
-  with get params
-    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"
-  raising an error if no stub was found
-    for request
-      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
-    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
-  different outcomes for the same request
-    the second request
-      is expected to eq "world"
-    the first request
-      is expected to eq "hello"
-  with simple path sets headers
-    is expected to eq "text/html"
-  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"
-  can handle single parameter block
-    is expected to eq "get"
-  with host points to the right stub
-    is expected to eq "domain: hello"
-
-Faraday::ClientError
-  .initialize
-    with string
-      is expected to be nil
-      is expected to be nil
-      is expected to eq "custom message"
-      is expected to eq "#<Faraday::ClientError #<Faraday::ClientError: custom message>>"
-    with anything else #to_s
-      is expected to be nil
-      is expected to eq "#<Faraday::ClientError #<Faraday::ClientError: [\"error1\", \"error2\"]>>"
-      is expected to eq "[\"error1\", \"error2\"]"
-      is expected to be nil
-    with response hash
-      is expected to eq "the server responded with status 400"
-      is expected to be nil
-      is expected to eq {:status=>400}
-      is expected to eq "#<Faraday::ClientError response={:status=>400}>"
-    with exception only
-      is expected to eq "test"
-      is expected to eq nil
-      is expected to be nil
-      is expected to eq #<RuntimeError: test>
-      is expected to eq "#<Faraday::ClientError wrapped=#<RuntimeError: test>>"
-
-Faraday::Request::Retry
-  when an unexpected error happens
-    is expected to eq 1
-    and this is passed as a custom exception
-      is expected to eq 3
-  #calculate_retry_interval
-    with exponential backoff and interval_randomness
-      is expected to be between 0.1 and 0.15 (inclusive)
-    with exponential backoff
-      is expected to eq 0.1
-      is expected to eq 0.4
-      is expected to eq 0.2
-    with exponential backoff and max_interval
-      is expected to eq 0.3
-      is expected to eq 0.3
-      is expected to eq 0.1
-      is expected to eq 0.2
-  retry_after header support
-    when retry_after is a timestamp
-      is expected to be > 1
-    when retry_after bigger than interval
-      is expected to be > 0.5
-    when retry_after is bigger than max_interval
-      is expected to eq 1
-    when retry_after smaller than interval
-      is expected to be > 0.2
-  when an expected error happens
-    is expected to eq 3
-    and new max_retry set to -9
-      is expected to eq 1
-    and legacy max_retry set to -9
-      is expected to eq 1
-    and both max_retry and interval are set
-      is expected to be within 0.04 of 0.2
-    and legacy max_retry set to 1
-      is expected to eq 2
-    and new max_retry set to 3
-      is expected to eq 4
-  when method is not idempotent
-    is expected to eq 1
-  retry_if option
-    retries if retry_if block always returns true
-    does not retry if retry_if block returns false checking exception
-    FilePart: should rewind files on retry
-    does not retry if retry_if block returns false checking env
-    UploadIO: should rewind files on retry
-    when explicitly specifying methods to retry
-      does not call retry_if for specified methods
-    with empty list of methods to retry
-      calls retry_if for all methods
-  when no exception raised
-    and response code is not in retry_statuses
-      is expected to eq 1
-    and response code is in retry_statuses
-      is expected to eq 2
+Faraday::FlatParamsEncoder
+  decodes arrays
+  encodes boolean values
+  encodes boolean values in array
+  encodes empty array in hash
+  decodes boolean values
+  encodes unsorted when asked
+  behaves like a params encoder
+    raises type error for empty string
+    encodes nil
+    escapes safe buffer
 
-Faraday::Utils::Headers
-  #delete
-    is expected to eq 0
-    is expected not to include "content-type"
-    is expected to eq "application/json"
-    is expected to be nil
-  #fetch
-    is expected to be nil
-    is expected to eq "application/json"
-    is expected to eq "application/json"
-    is expected to eq "default"
-    is expected to eq false
-    calls a block when provided
-    is expected to eq "Invalid key"
-    raises an error if key not found
-    is expected to eq "application/json"
-  when Content-Type is set to application/json
-    is expected to eq "application/json"
-    is expected to include "content-type"
-    is expected to eq ["Content-Type"]
-    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://sushi.com/"
-    when response headers leave http status line out
-      is expected to eq "text/html"
-      is expected to eq ["Content-Type"]
-      is expected to eq "text/html"
-    when response headers include a blank line
-      is expected to eq "text/html"
-  when Content-Type is set to 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"
-    is expected to eq "application/xml"
+Faraday::Options
+  #merge
+    deeply merges options with options having nil sub-options
+    merges options with hashes
+    deeply merges two options
+    deeply merges options with hashes
+    deeply merges options with nil
+    #each_value
+      allows to iterate through values
+    #fetch
+      when the fetched key has a value
+        works with key
+        grabs value
+      when the fetched key has no value
+        uses falsey default
+        needs a default if key is missing
+        accepts block
+    #from
+      works with options
+      works with nil
+      works with hash with sub object
+      works with options with sub object
+      respects inheritance
+      is expected to raise NoMethodError
+      works with deep hash
+      works with hash
+    #memoized
+      accepts block
+      requires block
+    #value?
+      returns true if any key has that value
+    #clear
+      clears the options
+    #update
+      updates options from hashes
+    #delete
+      allows to remove value for key
+    #deep_dup
+      duplicate options and also suboptions
+    #empty?
+      returns true only if all options are nil
+    #each_key
+      allows to iterate through keys
+    #key?
+      returns true if the key exists and is not nil
+    #dup
+      duplicate options but not sub-options
 
-Faraday::Adapter::EMHttp
-  allows to provide adapter specific configs
-  Options
-    configures all timeout settings
-    configures timeout
-    configures timeout and open_timeout
+Faraday::Adapter::NetHttp
+  checking http
+    is expected to eq 80
+    sets max_retries to 0
+    supports write_timeout
+    supports open_timeout
+    supports read_timeout
+    with http url including port
+      is expected to eq 1234
+    with https url
+      is expected to eq 443
+    with custom adapter config
+      is expected to eq 123
   behaves like an adapter
     with SSL enabled
-      #options
-        behaves like a request method
-          handles proxy failures
-          retrieves the response body
-          sends request body
-          binds local socket
-          parses the reason phrase
-          sends url encoded nested parameters
-          sends url encoded parameters
-          supports open_timeout option
-          handles headers with multiple values
-          handles requests with proxy
-          represents empty body response as blank string
-          retrieves the response headers
-          handles connection error
-          sends user agent
-          supports timeout option
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #get
-        behaves like a request method
-          sends request body
-          handles requests with proxy
-          sends user agent
-          supports timeout option
-          handles headers with multiple values
-          retrieves the response headers
-          handles connection error
-          supports open_timeout option
-          sends url encoded parameters
-          handles proxy failures
-          binds local socket
-          retrieves the response body
-          parses the reason phrase
-          represents empty body response as blank string
-          sends url encoded nested parameters
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #delete
+      #post
         behaves like a request method
-          retrieves the response headers
-          supports timeout option
-          binds local socket
-          handles proxy failures
           sends url encoded nested parameters
-          handles headers with multiple values
-          represents empty body response as blank string
-          sends url encoded parameters
-          parses the reason phrase
-          handles requests with proxy
-          sends user agent
           supports open_timeout option
-          sends request body
-          retrieves the response body
-          handles connection error
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #patch
-        behaves like a request method
-          supports timeout option
-          sends user agent
-          retrieves the response headers
-          binds local socket
-          handles headers with multiple values
-          sends url encoded parameters
           parses the reason phrase
-          sends request body
-          sends url encoded nested parameters
-          sends files
-          handles proxy failures
-          handles connection error
-          supports open_timeout option
-          retrieves the response body
-          represents empty body response as blank string
-          handles requests with proxy
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #put
-        behaves like a request method
-          binds local socket
-          sends request body
-          retrieves the response headers
-          handles connection error
-          handles headers with multiple values
-          supports open_timeout option
-          handles requests with proxy
-          sends files
-          handles proxy failures
-          supports timeout option
-          sends user agent
-          parses the reason phrase
-          retrieves the response body
           sends url encoded parameters
-          sends url encoded nested parameters
-          represents empty body response as blank string
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #post
-        behaves like a request method
           retrieves the response body
-          supports timeout option
-          handles headers with multiple values
           sends files
-          handles requests with proxy
-          sends url encoded nested parameters
-          handles connection error
+          handles deflate compression
           sends user agent
-          represents empty body response as blank string
-          binds local socket
-          handles proxy failures
-          sends request body
-          sends url encoded parameters
-          retrieves the response headers
-          supports open_timeout option
-          parses the reason phrase
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #trace
-        behaves like a request method
-          represents empty body response as blank string
-          sends url encoded nested parameters
-          supports timeout option
-          handles connection error
-          handles headers with multiple values
-          supports open_timeout option
-          parses the reason phrase
           handles proxy failures
-          sends user agent
-          sends url encoded parameters
-          sends request body
-          retrieves the response headers
           handles requests with proxy
-          retrieves the response body
-          binds local socket
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #head
-        behaves like a request method
           handles connection error
           sends request body
-          supports open_timeout option
-          handles proxy failures
-          parses the reason phrase
-          represents empty body response as blank string
-          supports timeout option
-          sends url encoded nested parameters
-          sends user agent
-          retrieves the response headers
           handles headers with multiple values
-          handles requests with proxy
-          binds local socket
-          sends url encoded parameters
-          with parallel setup
-            handles parallel requests status
-    with SSL disabled
-      #head
-        behaves like a request method
-          sends url encoded parameters
-          parses the reason phrase
-          handles connection error
-          supports timeout option
-          binds local socket
-          handles headers with multiple values
-          retrieves the response headers
-          handles requests with proxy
-          supports open_timeout option
-          represents empty body response as blank string
-          sends user agent
-          handles proxy failures
-          sends url encoded nested parameters
-          sends request body
-          with parallel setup
-            handles parallel requests status
-      #delete
-        behaves like a request method
-          binds local socket
-          handles proxy failures
-          parses the reason phrase
-          sends url encoded nested parameters
           retrieves the response headers
-          sends request body
-          handles requests with proxy
-          sends user agent
+          handles gzip compression
           supports timeout option
-          retrieves the response body
-          handles connection error
           represents empty body response as blank string
-          supports open_timeout option
-          handles headers with multiple values
-          sends url encoded parameters
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
+          streaming
+            when response is empty
+              is expected to eq [["", 0]]
+            when response contains big data
+              handles streaming
       #put
         behaves like a request method
-          sends files
-          represents empty body response as blank string
-          sends request body
           retrieves the response body
-          supports timeout option
-          binds local socket
-          retrieves the response headers
+          represents empty body response as blank string
           handles connection error
-          sends url encoded nested parameters
-          handles requests with proxy
           sends url encoded parameters
-          parses the reason phrase
-          handles proxy failures
-          sends user agent
-          supports open_timeout option
-          handles headers with multiple values
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #get
-        behaves like a request method
+          handles deflate compression
+          sends files
           handles proxy failures
-          handles requests with proxy
-          sends url encoded nested parameters
-          sends url encoded parameters
-          supports open_timeout option
-          handles headers with multiple values
           supports timeout option
-          represents empty body response as blank string
-          sends user agent
-          handles connection error
-          retrieves the response body
-          retrieves the response headers
-          sends request body
           parses the reason phrase
-          binds local socket
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #patch
-        behaves like a request method
-          handles proxy failures
-          represents empty body response as blank string
-          retrieves the response body
           sends url encoded nested parameters
-          supports timeout option
-          parses the reason phrase
-          sends url encoded parameters
-          handles headers with multiple values
-          binds local socket
-          sends files
-          sends user agent
-          handles connection error
           sends request body
+          sends user agent
           handles requests with proxy
-          supports open_timeout option
+          handles gzip compression
           retrieves the response headers
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #options
-        behaves like a request method
-          binds local socket
           handles headers with multiple values
-          handles requests with proxy
-          represents empty body response as blank string
-          supports timeout option
-          sends request body
-          handles connection error
-          retrieves the response body
-          sends url encoded parameters
-          retrieves the response headers
-          handles proxy failures
-          sends user agent
-          parses the reason phrase
           supports open_timeout option
-          sends url encoded nested parameters
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #post
+          streaming
+            when response is empty
+              is expected to eq [["", 0]]
+            when response contains big data
+              handles streaming
+      #patch
         behaves like a request method
-          retrieves the response headers
-          retrieves the response body
-          parses the reason phrase
-          sends url encoded nested parameters
-          handles headers with multiple values
-          binds local socket
           sends user agent
-          handles proxy failures
-          handles requests with proxy
-          supports timeout option
-          sends request body
           sends url encoded parameters
-          handles connection error
+          parses the reason phrase
           sends files
-          represents empty body response as blank string
-          supports open_timeout option
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #trace
-        behaves like a request method
+          sends request body
           supports open_timeout option
-          retrieves the response headers
-          sends user agent
-          sends url encoded parameters
-          handles proxy failures
-          handles connection error
-          parses the reason phrase
-          handles headers with multiple values
-          supports timeout option
+          handles deflate compression
           sends url encoded nested parameters
-          sends request body
-          represents empty body response as blank string
-          binds local socket
-          retrieves the response body
-          handles requests with proxy
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-
-Faraday::Response::RaiseError
-  raises no exception for 200 responses
-  raises Faraday::UnauthorizedError for 401 responses
-  raises Faraday::ResourceNotFound for 404 responses
-  raises Faraday::ServerError for 500 responses
-  raises Faraday::NilStatusError for nil status in response
-  raises Faraday::UnprocessableEntityError for 422 responses
-  raises Faraday::ConflictError for 409 responses
-  raises Faraday::ForbiddenError for 403 responses
-  raises Faraday::ClientError for other 4xx responses
-  raises Faraday::BadRequestError for 400 responses
-  raises Faraday::ProxyAuthError for 407 responses
-  request info
-    returns the request info in the exception
-
-Faraday::Adapter
-  #request_timeout
-    gets :open timeout
-    attempts unknown timeout type
-    gets :write timeout
-    gets :read timeout
-
-Faraday::Request::UrlEncoded
-  works with with headers
-  works with no headers
-  works with nested keys
-  works with nested params
-  works with unicode
-  works with non nested params
-  ignores custom content type
-  does nothing without payload
-  customising default_space_encoding
-    uses the custom character to encode spaces
-
-Faraday::RequestOptions
-  allows to set the request proxy
-
-Faraday::Response
-  is expected to eq "text/plain"
-  is expected to eq "text/plain"
-  is expected to eq 404
-  is expected to eq "yikes"
-  is expected to be truthy
-  is expected to raise RuntimeError
-  is expected to be falsey
-  #on_complete
-    can access response body in on_complete callback
-    can access response body in on_complete callback
-    parse body on finish
-  #to_hash
-    is expected to eq {"Content-Type"=>"text/plain"}
-    is expected to eq 404
-    is expected to be a kind of Hash
-    is expected to eq "yikes"
-  marshal serialization support
-    is expected to be nil
-    is expected to eq "yikes"
-    is expected to eq {"Content-Type"=>"text/plain"}
-    is expected to eq 404
-  #apply_request
-    is expected to eq "yikes"
-    is expected to eq :post
-
-Faraday::Utils
-  headers parsing
-    parse headers for aggregated responses
-  URI parsing
-    parses with default parser
-    escapes safe buffer
-    replaces headers hash
-    parses with URI
-    parses with block
-
-Faraday::Request::Authorization
-  authorization
-    when passed two strings
-      is expected to eq "custom abc def"
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when passed a string and a hash
-      is expected to eq "baz foo=\"42\""
-      and request already has an authentication header
-        does not interfere with existing authorization
-  token_auth
-    when passed correct params
-      is expected to eq "Token token=\"quux\""
-      and request already has an authentication header
-        does not interfere with existing authorization
-    when other values are provided
-      is expected to match /foo="42"/
-      is expected to match /^Token /
-      is expected to match /token="baz"/
-      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::Adapter::NetHttp
-  behaves like an adapter
-    with SSL disabled
-      #options
-        behaves like a request method
           handles proxy failures
           handles requests with proxy
-          sends user agent
-          retrieves the response body
           handles gzip compression
-          handles connection error
-          parses the reason phrase
-          sends url encoded nested parameters
-          sends request body
-          handles deflate compression
+          retrieves the response body
           retrieves the response headers
-          sends url encoded parameters
-          represents empty body response as blank string
-          supports timeout option
           handles headers with multiple values
-          supports open_timeout option
+          supports timeout option
+          represents empty body response as blank string
+          handles connection error
           streaming
             when response contains big data
               handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #post
+      #get
         behaves like a request method
+          handles gzip compression
           retrieves the response body
-          sends url encoded nested parameters
           represents empty body response as blank string
-          supports timeout option
+          sends request body
           handles headers with multiple values
-          handles requests with proxy
+          handles deflate compression
+          sends url encoded parameters
           retrieves the response headers
           handles proxy failures
-          handles gzip compression
           handles connection error
-          parses the reason phrase
-          handles deflate compression
-          sends request body
           sends user agent
+          parses the reason phrase
+          sends url encoded nested parameters
+          handles requests with proxy
           supports open_timeout option
-          sends url encoded parameters
-          sends files
+          supports timeout option
           streaming
             when response contains big data
               handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #patch
+      #options
         behaves like a request method
-          sends request body
-          retrieves the response headers
           retrieves the response body
-          represents empty body response as blank string
-          handles proxy failures
-          handles deflate compression
+          sends request body
           handles headers with multiple values
-          supports timeout option
-          handles connection error
           handles requests with proxy
-          sends files
-          handles gzip compression
-          sends url encoded nested parameters
           sends url encoded parameters
-          supports open_timeout option
+          supports timeout option
           parses the reason phrase
+          represents empty body response as blank string
+          supports open_timeout option
           sends user agent
+          retrieves the response headers
+          handles connection error
+          sends url encoded nested parameters
+          handles deflate compression
+          handles proxy failures
+          handles gzip compression
           streaming
             when response is empty
               is expected to eq [["", 0]]
@@ -2138,251 +1679,227 @@
         behaves like a request method
           represents empty body response as blank string
           retrieves the response body
-          retrieves the response headers
           supports open_timeout option
-          handles proxy failures
           handles requests with proxy
-          supports timeout option
-          handles connection error
+          handles proxy failures
           sends request body
+          sends user agent
+          sends url encoded nested parameters
           handles headers with multiple values
-          parses the reason phrase
+          supports timeout option
           sends url encoded parameters
-          sends url encoded nested parameters
-          sends user agent
+          parses the reason phrase
+          retrieves the response headers
+          handles connection error
           streaming
             when response is empty
               is expected to eq [["", 0]]
             when response contains big data
               handles streaming
-      #delete
+      #trace
         behaves like a request method
-          sends url encoded nested parameters
-          handles deflate compression
-          handles proxy failures
-          supports timeout option
-          sends user agent
-          handles headers with multiple values
-          sends url encoded parameters
-          handles requests with proxy
           retrieves the response body
-          retrieves the response headers
+          handles proxy failures
           parses the reason phrase
           handles gzip compression
-          represents empty body response as blank string
-          handles connection error
-          sends request body
-          supports open_timeout option
-          streaming
-            when response contains big data
-              handles streaming
-            when response is empty
-              is expected to eq [["", 0]]
-      #get
-        behaves like a request method
-          supports timeout option
+          sends url encoded parameters
           sends user agent
-          handles headers with multiple values
-          retrieves the response headers
           handles requests with proxy
-          handles deflate compression
           represents empty body response as blank string
-          handles proxy failures
+          supports timeout option
           supports open_timeout option
-          parses the reason phrase
-          handles gzip compression
-          sends url encoded nested parameters
-          sends url encoded parameters
+          handles headers with multiple values
+          handles deflate compression
           handles connection error
+          retrieves the response headers
           sends request body
-          retrieves the response body
+          sends url encoded nested parameters
           streaming
             when response contains big data
               handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #put
+      #delete
         behaves like a request method
-          handles connection error
+          handles proxy failures
           handles headers with multiple values
-          parses the reason phrase
-          retrieves the response headers
-          handles gzip compression
           sends url encoded nested parameters
-          sends files
-          handles requests with proxy
+          sends request body
           supports timeout option
-          sends user agent
-          sends url encoded parameters
           supports open_timeout option
-          handles proxy failures
-          handles deflate compression
+          sends url encoded parameters
+          parses the reason phrase
           represents empty body response as blank string
-          sends request body
-          retrieves the response body
-          streaming
-            when response is empty
-              is expected to eq [["", 0]]
-            when response contains big data
-              handles streaming
-      #trace
-        behaves like a request method
           sends user agent
-          supports timeout option
-          supports open_timeout option
           handles deflate compression
-          represents empty body response as blank string
-          retrieves the response body
           handles requests with proxy
+          retrieves the response body
           retrieves the response headers
-          handles proxy failures
-          handles headers with multiple values
-          sends url encoded nested parameters
-          handles connection error
-          parses the reason phrase
-          sends url encoded parameters
           handles gzip compression
-          sends request body
+          handles connection error
           streaming
             when response is empty
               is expected to eq [["", 0]]
             when response contains big data
               handles streaming
-    with SSL enabled
+    with SSL disabled
       #head
         behaves like a request method
-          handles connection error
+          sends user agent
+          represents empty body response as blank string
           supports open_timeout option
-          supports timeout option
-          sends request body
+          handles connection error
           retrieves the response body
           handles headers with multiple values
-          parses the reason phrase
-          handles proxy failures
-          retrieves the response headers
+          supports timeout option
           sends url encoded nested parameters
           sends url encoded parameters
-          sends user agent
           handles requests with proxy
-          represents empty body response as blank string
+          handles proxy failures
+          retrieves the response headers
+          parses the reason phrase
+          sends request body
           streaming
             when response contains big data
               handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #get
+      #options
         behaves like a request method
-          retrieves the response body
           represents empty body response as blank string
-          handles connection error
+          supports timeout option
+          handles headers with multiple values
+          sends user agent
+          retrieves the response body
           handles requests with proxy
-          sends url encoded parameters
-          handles gzip compression
-          handles proxy failures
           handles deflate compression
-          sends url encoded nested parameters
+          handles gzip compression
+          sends request body
+          sends url encoded parameters
           supports open_timeout option
+          handles proxy failures
           parses the reason phrase
-          sends request body
-          handles headers with multiple values
+          sends url encoded nested parameters
           retrieves the response headers
-          sends user agent
-          supports timeout option
+          handles connection error
           streaming
             when response is empty
               is expected to eq [["", 0]]
             when response contains big data
               handles streaming
-      #post
+      #trace
         behaves like a request method
+          handles requests with proxy
           supports timeout option
+          sends user agent
           retrieves the response body
+          handles gzip compression
+          parses the reason phrase
+          sends url encoded parameters
+          retrieves the response headers
           handles deflate compression
-          sends user agent
+          sends url encoded nested parameters
+          supports open_timeout option
           handles proxy failures
+          sends request body
+          handles connection error
           handles headers with multiple values
-          sends files
+          represents empty body response as blank string
+          streaming
+            when response is empty
+              is expected to eq [["", 0]]
+            when response contains big data
+              handles streaming
+      #patch
+        behaves like a request method
           retrieves the response headers
+          supports timeout option
           represents empty body response as blank string
+          handles headers with multiple values
+          supports open_timeout option
+          sends url encoded parameters
+          sends user agent
+          sends url encoded nested parameters
           handles requests with proxy
+          sends files
+          retrieves the response body
+          handles deflate compression
+          handles proxy failures
           sends request body
-          sends url encoded nested parameters
-          sends url encoded parameters
-          supports open_timeout option
+          handles gzip compression
           handles connection error
           parses the reason phrase
-          handles gzip compression
           streaming
-            when response contains big data
-              handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #trace
+            when response contains big data
+              handles streaming
+      #put
         behaves like a request method
-          handles proxy failures
-          represents empty body response as blank string
+          handles headers with multiple values
           sends url encoded nested parameters
+          sends request body
           handles deflate compression
-          retrieves the response headers
-          sends url encoded parameters
+          supports open_timeout option
           handles gzip compression
+          supports timeout option
+          sends url encoded parameters
           handles requests with proxy
-          handles headers with multiple values
+          represents empty body response as blank string
+          sends files
           retrieves the response body
+          retrieves the response headers
+          parses the reason phrase
           handles connection error
           sends user agent
-          parses the reason phrase
-          supports open_timeout option
-          sends request body
-          supports timeout option
+          handles proxy failures
           streaming
-            when response contains big data
-              handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #patch
+            when response contains big data
+              handles streaming
+      #get
         behaves like a request method
-          sends request body
+          handles connection error
+          handles headers with multiple values
+          sends url encoded nested parameters
+          sends url encoded parameters
+          sends user agent
           handles deflate compression
+          sends request body
           retrieves the response body
           supports open_timeout option
-          supports timeout option
-          sends user agent
-          retrieves the response headers
-          represents empty body response as blank string
-          handles proxy failures
-          handles requests with proxy
-          sends url encoded nested parameters
-          sends url encoded parameters
           parses the reason phrase
+          handles requests with proxy
           handles gzip compression
-          sends files
-          handles headers with multiple values
-          handles connection error
+          represents empty body response as blank string
+          retrieves the response headers
+          handles proxy failures
+          supports timeout option
           streaming
             when response contains big data
               handles streaming
             when response is empty
               is expected to eq [["", 0]]
-      #put
+      #post
         behaves like a request method
-          supports timeout option
-          supports open_timeout option
+          sends url encoded parameters
+          handles requests with proxy
+          parses the reason phrase
           sends files
-          handles connection error
           handles gzip compression
-          handles headers with multiple values
-          handles proxy failures
-          parses the reason phrase
           sends request body
-          sends url encoded parameters
+          handles deflate compression
           retrieves the response headers
+          supports timeout option
           represents empty body response as blank string
-          handles deflate compression
-          handles requests with proxy
+          handles headers with multiple values
           sends url encoded nested parameters
           retrieves the response body
+          handles connection error
+          handles proxy failures
           sends user agent
+          supports open_timeout option
           streaming
             when response is empty
               is expected to eq [["", 0]]
@@ -2390,1109 +1907,726 @@
               handles streaming
       #delete
         behaves like a request method
-          handles gzip compression
-          sends user agent
-          supports open_timeout option
-          retrieves the response body
-          handles proxy failures
-          handles headers with multiple values
           handles connection error
-          sends request body
-          sends url encoded nested parameters
-          parses the reason phrase
           supports timeout option
-          sends url encoded parameters
+          parses the reason phrase
           handles deflate compression
+          retrieves the response body
           represents empty body response as blank string
+          supports open_timeout option
+          sends url encoded parameters
           retrieves the response headers
+          sends user agent
+          handles gzip compression
           handles requests with proxy
-          streaming
-            when response contains big data
-              handles streaming
-            when response is empty
-              is expected to eq [["", 0]]
-      #options
-        behaves like a request method
-          sends url encoded parameters
+          handles headers with multiple values
           handles proxy failures
-          handles deflate compression
-          handles requests with proxy
-          handles connection error
           sends request body
-          retrieves the response headers
-          represents empty body response as blank string
           sends url encoded nested parameters
-          parses the reason phrase
-          handles gzip compression
-          supports open_timeout option
-          handles headers with multiple values
-          supports timeout option
-          retrieves the response body
-          sends user agent
           streaming
-            when response contains big data
-              handles streaming
             when response is empty
               is expected to eq [["", 0]]
-  checking http
-    supports write_timeout
-    supports read_timeout
-    supports open_timeout
-    is expected to eq 80
-    sets max_retries to 0
-    with https url
-      is expected to eq 443
-    with http url including port
-      is expected to eq 1234
-    with custom adapter config
-      is expected to eq 123
-
-Faraday::ProxyOptions
-  allows hash access
-  #from
-    works with no auth
-    works with string
-    works with nil
+            when response contains big data
+              handles streaming
 
 Faraday::RackBuilder
-  when middleware is added with named arguments
-    adds a handler to construct middleware with options passed to use
-  when having two handlers
-    allows to delete a handler
-    allows to swap handlers
-    allows insert_after
-    allows insert_before
-  with custom empty block
-    is expected to be nil
-    is expected to eq Faraday::Adapter::NetHttp
-  when a response adapter is added with named arguments
-    adds a handler to construct response adapter with options passed to response
-  when having a single handler
-    raises an error trying to use an unregistered symbol
-    allows insert_after
-    allows use
-    allows rebuilding
-    allows insert_before
-    is expected to eq [Apple]
-  when having a handler with broken dependency
-    raises an error while making a request
   with default stack
     is expected to eq Faraday::Request::UrlEncoded
     is expected to eq Faraday::Adapter::NetHttp
   when a request adapter is added with named arguments
     adds a handler to construct request adapter with options passed to request
+  when a response adapter is added with named arguments
+    adds a handler to construct response adapter with options passed to response
+  when middleware is added with named arguments
+    adds a handler to construct middleware with options passed to use
   when a plain adapter is added with named arguments
     adds a handler to construct adapter with options passed to adapter
-  with custom registered middleware
-    allows to register with Proc
-    allows to register with constant
-    allows to register with symbol
-    allows to register with string
+  with custom handler and adapter
+    locks the stack after making a request
+    dup stack is unlocked
+    allows to compare handlers
   with custom adapter only
     is expected to be nil
     is expected to eq Faraday::Adapter::Test
+  when having two handlers
+    allows insert_after
+    allows to delete a handler
+    allows insert_before
+    allows to swap handlers
+  with custom registered middleware
+    allows to register with symbol
+    allows to register with string
+    allows to register with constant
+    allows to register with Proc
   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 custom handler and adapter
-    locks the stack after making a request
-    allows to compare handlers
-    dup stack is unlocked
+    adds a handler with options passed to swap
+  when having a single handler
+    raises an error trying to use an unregistered symbol
+    allows insert_before
+    allows rebuilding
+    allows use
+    is expected to eq [Apple]
+    allows insert_after
+  when having a handler with broken dependency
+    raises an error while making a request
+  with custom empty block
+    is expected to eq Faraday::Adapter::NetHttp
+    is expected to be nil
 
-Faraday::Adapter::Excon
+Faraday::Request::UrlEncoded
+  ignores custom content type
+  works with with headers
+  works with nested keys
+  does nothing without payload
+  works with no headers
+  works with unicode
+  works with nested params
+  works with non nested params
+  customising default_space_encoding
+    uses the custom character to encode spaces
+
+Faraday::Adapter::EMSynchrony
   allows to provide adapter specific configs
-  config
-    sets timeout
-    sets timeout and open_timeout
-    sets open_timeout
   behaves like an adapter
     with SSL disabled
-      #head
+      #get
         behaves like a request method
-          supports open_timeout option
-          retrieves the response headers
-          represents empty body response as blank string
           handles requests with proxy
           sends request body
           sends url encoded parameters
           handles headers with multiple values
-          sends user agent
-          sends url encoded nested parameters
-          parses the reason phrase
-          handles proxy failures
-          retrieves the response body
-          supports timeout option
-          handles connection error
-      #delete
-        behaves like a request method
           handles proxy failures
           supports timeout option
-          sends user agent
-          sends url encoded parameters
-          parses the reason phrase
-          handles headers with multiple values
           sends url encoded nested parameters
-          retrieves the response body
-          handles connection error
-          retrieves the response headers
-          represents empty body response as blank string
-          handles requests with proxy
+          binds local socket
           supports open_timeout option
-          sends request body
-      #patch
-        behaves like a request method
-          supports timeout option
+          retrieves the response headers
           handles connection error
-          retrieves the response body
-          sends files
-          handles headers with multiple values
           parses the reason phrase
-          represents empty body response as blank string
-          sends request body
-          sends url encoded nested parameters
-          handles requests with proxy
-          handles proxy failures
-          supports open_timeout option
-          sends url encoded parameters
-          retrieves the response headers
           sends user agent
+          represents empty body response as blank string
+          retrieves the response body
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
       #post
         behaves like a request method
-          handles proxy failures
-          sends request body
-          handles connection error
-          sends files
           handles requests with proxy
-          supports timeout option
-          sends url encoded parameters
-          sends url encoded nested parameters
-          retrieves the response body
-          parses the reason phrase
-          supports open_timeout option
-          handles headers with multiple values
-          sends user agent
           retrieves the response headers
-          represents empty body response as blank string
-      #put
-        behaves like a request method
-          sends user agent
-          sends files
+          handles headers with multiple values
           handles connection error
           represents empty body response as blank string
-          sends request body
-          parses the reason phrase
-          handles proxy failures
-          retrieves the response headers
-          supports timeout option
-          handles requests with proxy
-          supports open_timeout option
-          retrieves the response body
-          sends url encoded parameters
-          handles headers with multiple values
-          sends url encoded nested parameters
-      #get
-        behaves like a request method
           sends user agent
-          represents empty body response as blank string
-          sends url encoded nested parameters
-          parses the reason phrase
-          sends url encoded parameters
-          handles headers with multiple values
-          retrieves the response body
-          handles requests with proxy
-          handles connection error
           handles proxy failures
-          supports timeout option
-          retrieves the response headers
-          sends request body
-          supports open_timeout option
-      #options
-        behaves like a request method
-          handles requests with proxy
           sends url encoded nested parameters
-          sends url encoded parameters
-          represents empty body response as blank string
-          handles connection error
+          sends files
           supports open_timeout option
-          retrieves the response headers
-          retrieves the response body
-          sends request body
-          handles proxy failures
-          handles headers with multiple values
-          supports timeout option
-          sends user agent
-          parses the reason phrase
-      #trace
-        behaves like a request method
           sends url encoded parameters
-          handles proxy failures
           sends request body
+          supports timeout option
           retrieves the response body
-          supports open_timeout option
-          retrieves the response headers
-          handles requests with proxy
-          sends user agent
-          handles headers with multiple values
-          handles connection error
+          binds local socket
           parses the reason phrase
-          represents empty body response as blank string
-          sends url encoded nested parameters
-          supports timeout option
-    with SSL enabled
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
       #delete
         behaves like a request method
           supports timeout option
-          handles requests with proxy
           sends url encoded parameters
-          represents empty body response as blank string
-          handles proxy failures
-          sends request body
-          supports open_timeout option
-          parses the reason phrase
-          sends user agent
-          retrieves the response body
           sends url encoded nested parameters
-          handles connection error
-          handles headers with multiple values
-          retrieves the response headers
-      #patch
-        behaves like a request method
-          handles connection error
-          parses the reason phrase
+          binds local socket
           sends user agent
-          handles requests with proxy
-          sends url encoded nested parameters
+          parses the reason phrase
           represents empty body response as blank string
-          sends url encoded parameters
           handles proxy failures
-          supports timeout option
-          sends request body
+          handles connection error
           handles headers with multiple values
-          retrieves the response body
-          sends files
+          sends request body
           retrieves the response headers
+          retrieves the response body
+          handles requests with proxy
           supports open_timeout option
-      #get
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #head
         behaves like a request method
-          sends url encoded parameters
-          handles headers with multiple values
-          handles requests with proxy
-          supports timeout option
           sends url encoded nested parameters
-          retrieves the response body
+          handles proxy failures
+          parses the reason phrase
           sends request body
+          supports timeout option
+          binds local socket
           handles connection error
-          supports open_timeout option
-          retrieves the response headers
-          sends user agent
-          parses the reason phrase
           represents empty body response as blank string
-          handles proxy failures
-      #put
-        behaves like a request method
-          sends files
-          supports open_timeout option
-          handles connection error
-          retrieves the response headers
           sends user agent
+          sends url encoded parameters
+          supports open_timeout option
           handles requests with proxy
           handles headers with multiple values
-          sends url encoded nested parameters
-          retrieves the response body
-          sends request body
-          parses the reason phrase
-          sends url encoded parameters
-          supports timeout option
-          handles proxy failures
-          represents empty body response as blank string
+          retrieves the response headers
+          with parallel setup
+            handles parallel requests status
       #options
         behaves like a request method
-          handles proxy failures
+          handles connection error
+          retrieves the response headers
+          supports timeout option
+          supports open_timeout option
           sends request body
+          handles proxy failures
+          binds local socket
           handles requests with proxy
-          supports timeout option
-          retrieves the response headers
-          retrieves the response body
           parses the reason phrase
           represents empty body response as blank string
-          supports open_timeout option
-          handles headers with multiple values
-          sends url encoded nested parameters
+          retrieves the response body
           sends user agent
-          handles connection error
           sends url encoded parameters
-      #trace
-        behaves like a request method
-          supports open_timeout option
           sends url encoded nested parameters
-          handles proxy failures
-          sends request body
-          sends user agent
           handles headers with multiple values
-          retrieves the response headers
-          supports timeout option
-          retrieves the response body
-          handles connection error
-          sends url encoded parameters
-          parses the reason phrase
-          represents empty body response as blank string
-          handles requests with proxy
-      #post
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #put
         behaves like a request method
+          binds local socket
+          sends request body
           sends files
           represents empty body response as blank string
-          handles proxy failures
-          sends user agent
-          handles requests with proxy
-          parses the reason phrase
-          retrieves the response headers
           supports open_timeout option
-          retrieves the response body
-          sends request body
-          supports timeout option
-          sends url encoded nested parameters
-          handles headers with multiple values
-          handles connection error
-          sends url encoded parameters
-      #head
-        behaves like a request method
-          sends url encoded parameters
-          sends user agent
           handles headers with multiple values
-          supports open_timeout option
-          handles proxy failures
-          handles connection error
-          sends request body
-          represents empty body response as blank string
-          retrieves the response body
-          handles requests with proxy
           supports timeout option
-          sends url encoded nested parameters
-          retrieves the response headers
-          parses the reason phrase
-
-Faraday::Request::Multipart
-  UploadIO: when multipart objects in param
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-  when passing flat_encode=true option
-    encode params using flat encoder
-    behaves like a multipart request
-      generates a unique boundary for each request
-  UploadIO: when providing json and IO content in the same payload
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-  FilePart: when multipart objects in array param
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-  FilePart: when providing json and IO content in the same payload
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-  FilePart: when multipart objects in param
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-  UploadIO: when multipart objects in array param
-    forms a multipart request
-    behaves like a multipart request
-      generates a unique boundary for each request
-
-Faraday
-  has a version number
-  proxies to default_connection
-    proxied methods can be accessed
-    proxies methods that exist on the default_connection
-    uses method_missing on Faraday if there is no proxyable method
-
-Faraday::Adapter::HTTPClient
-  allows to provide adapter specific configs
-  behaves like an adapter
-    with SSL enabled
-      #put
-        behaves like a request method
           handles proxy failures
-          handles connection error
-          sends url encoded nested parameters
-          handles deflate compression
-          supports open_timeout option
-          represents empty body response as blank string
-          supports timeout option
-          retrieves the response body
-          sends user agent
           parses the reason phrase
-          binds local socket
-          handles headers with multiple values
-          handles gzip compression
           sends url encoded parameters
-          retrieves the response headers
-          sends request body
-          sends files
+          retrieves the response body
+          handles connection error
           handles requests with proxy
+          retrieves the response headers
+          sends user agent
+          sends url encoded nested parameters
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
       #patch
         behaves like a request method
           sends url encoded nested parameters
-          handles connection error
-          binds local socket
           parses the reason phrase
-          handles headers with multiple values
-          sends files
-          supports open_timeout option
           sends url encoded parameters
-          retrieves the response body
-          handles gzip compression
+          handles connection error
+          handles headers with multiple values
           handles requests with proxy
           sends user agent
+          binds local socket
+          retrieves the response body
           represents empty body response as blank string
           supports timeout option
-          handles proxy failures
-          handles deflate compression
           sends request body
+          supports open_timeout option
           retrieves the response headers
-      #get
+          sends files
+          handles proxy failures
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+    with SSL enabled
+      #delete
         behaves like a request method
-          sends user agent
           handles proxy failures
-          supports open_timeout option
-          retrieves the response body
           represents empty body response as blank string
-          handles connection error
-          supports timeout option
-          sends url encoded parameters
-          handles gzip compression
-          handles deflate compression
+          sends request body
           binds local socket
-          handles requests with proxy
           parses the reason phrase
-          sends request body
           handles headers with multiple values
+          handles requests with proxy
           retrieves the response headers
-          sends url encoded nested parameters
-      #options
-        behaves like a request method
-          sends url encoded nested parameters
-          sends url encoded parameters
-          handles gzip compression
-          handles deflate compression
-          represents empty body response as blank string
           handles connection error
-          handles proxy failures
-          handles requests with proxy
-          sends request body
+          sends url encoded parameters
+          supports timeout option
           sends user agent
-          retrieves the response body
-          handles headers with multiple values
           supports open_timeout option
-          binds local socket
-          retrieves the response headers
-          supports timeout option
-          parses the reason phrase
-      #post
+          retrieves the response body
+          sends url encoded nested parameters
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #get
         behaves like a request method
-          handles requests with proxy
-          handles proxy failures
-          handles deflate compression
           represents empty body response as blank string
-          sends user agent
-          parses the reason phrase
-          sends url encoded nested parameters
-          sends request body
-          handles headers with multiple values
-          handles gzip compression
-          supports open_timeout option
           retrieves the response headers
           binds local socket
-          supports timeout option
-          retrieves the response body
-          sends url encoded parameters
-          sends files
+          parses the reason phrase
           handles connection error
-      #head
-        behaves like a request method
-          binds local socket
           sends user agent
-          sends url encoded nested parameters
-          represents empty body response as blank string
-          sends request body
-          retrieves the response body
-          handles proxy failures
-          parses the reason phrase
-          sends url encoded parameters
-          handles requests with proxy
           supports open_timeout option
-          handles headers with multiple values
-          retrieves the response headers
-          supports timeout option
-          handles connection error
-      #delete
-        behaves like a request method
-          represents empty body response as blank string
-          handles deflate compression
           handles requests with proxy
+          supports timeout option
           sends url encoded parameters
-          binds local socket
+          sends url encoded nested parameters
+          handles proxy failures
           handles headers with multiple values
-          retrieves the response headers
-          sends user agent
-          supports open_timeout option
           sends request body
-          sends url encoded nested parameters
           retrieves the response body
-          handles gzip compression
-          handles connection error
-          supports timeout option
-          handles proxy failures
-          parses the reason phrase
-      #trace
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #put
         behaves like a request method
           handles connection error
-          represents empty body response as blank string
-          binds local socket
-          sends url encoded nested parameters
           retrieves the response body
           handles headers with multiple values
-          supports open_timeout option
-          retrieves the response headers
-          handles proxy failures
-          sends user agent
           handles requests with proxy
-          supports timeout option
+          handles proxy failures
+          supports open_timeout option
           parses the reason phrase
-          sends url encoded parameters
           sends request body
-          handles gzip compression
-          handles deflate compression
-    with SSL disabled
-      #post
-        behaves like a request method
-          supports open_timeout option
-          represents empty body response as blank string
-          handles gzip compression
           retrieves the response headers
-          handles headers with multiple values
-          handles deflate compression
+          represents empty body response as blank string
           sends url encoded parameters
-          sends url encoded nested parameters
+          sends files
+          binds local socket
           sends user agent
+          sends url encoded nested parameters
           supports timeout option
-          sends files
-          sends request body
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #patch
+        behaves like a request method
+          supports timeout option
+          sends user agent
           handles proxy failures
           parses the reason phrase
+          represents empty body response as blank string
+          sends url encoded parameters
           binds local socket
-          handles requests with proxy
+          supports open_timeout option
           retrieves the response body
-          handles connection error
-      #get
-        behaves like a request method
-          handles gzip compression
-          sends url encoded nested parameters
-          represents empty body response as blank string
+          handles headers with multiple values
+          sends files
           sends request body
-          retrieves the response headers
-          sends url encoded parameters
-          supports timeout option
           handles connection error
+          sends url encoded nested parameters
           handles requests with proxy
-          handles headers with multiple values
-          sends user agent
-          retrieves the response body
-          parses the reason phrase
-          binds local socket
-          supports open_timeout option
-          handles deflate compression
-          handles proxy failures
+          retrieves the response headers
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
       #head
         behaves like a request method
-          retrieves the response body
+          handles connection error
+          represents empty body response as blank string
+          supports timeout option
+          handles proxy failures
           handles headers with multiple values
-          sends url encoded nested parameters
+          parses the reason phrase
           binds local socket
-          supports timeout option
+          sends request body
           sends user agent
           supports open_timeout option
-          sends request body
           retrieves the response headers
           handles requests with proxy
-          represents empty body response as blank string
-          handles connection error
+          sends url encoded nested parameters
           sends url encoded parameters
-          handles proxy failures
-          parses the reason phrase
+          with parallel setup
+            handles parallel requests status
       #options
         behaves like a request method
-          sends request body
           sends url encoded parameters
-          handles requests with proxy
-          sends url encoded nested parameters
+          handles connection error
+          retrieves the response body
+          retrieves the response headers
+          sends request body
           supports open_timeout option
           supports timeout option
-          handles gzip compression
-          handles deflate compression
-          handles proxy failures
-          binds local socket
-          parses the reason phrase
-          represents empty body response as blank string
-          sends user agent
-          retrieves the response body
           handles headers with multiple values
-          retrieves the response headers
-          handles connection error
-      #delete
-        behaves like a request method
+          handles requests with proxy
+          sends url encoded nested parameters
           binds local socket
           parses the reason phrase
-          sends url encoded nested parameters
-          handles gzip compression
-          handles deflate compression
-          sends user agent
-          handles headers with multiple values
-          retrieves the response headers
-          sends request body
           represents empty body response as blank string
-          handles requests with proxy
-          supports open_timeout option
-          handles connection error
-          supports timeout option
+          sends user agent
           handles proxy failures
-          sends url encoded parameters
-          retrieves the response body
-      #put
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #post
         behaves like a request method
           supports timeout option
-          sends user agent
-          handles requests with proxy
-          handles deflate compression
-          supports open_timeout option
-          sends url encoded parameters
-          sends request body
-          binds local socket
-          handles proxy failures
-          sends files
           handles headers with multiple values
-          sends url encoded nested parameters
-          retrieves the response body
-          handles gzip compression
-          parses the reason phrase
           handles connection error
-          represents empty body response as blank string
-          retrieves the response headers
-      #trace
-        behaves like a request method
           sends user agent
           sends url encoded parameters
-          binds local socket
           retrieves the response body
-          sends request body
-          handles proxy failures
-          retrieves the response headers
-          handles requests with proxy
-          handles gzip compression
-          sends url encoded nested parameters
-          handles headers with multiple values
+          sends files
           represents empty body response as blank string
-          handles connection error
-          supports open_timeout option
+          handles requests with proxy
+          sends request body
           parses the reason phrase
-          supports timeout option
-          handles deflate compression
-      #patch
-        behaves like a request method
           binds local socket
-          handles gzip compression
-          retrieves the response body
+          retrieves the response headers
+          handles proxy failures
           supports open_timeout option
-          handles connection error
-          sends url encoded parameters
-          sends files
-          handles headers with multiple values
-          supports timeout option
-          represents empty body response as blank string
           sends url encoded nested parameters
-          sends user agent
-          handles proxy failures
-          retrieves the response headers
-          sends request body
-          handles requests with proxy
-          parses the reason phrase
-          handles deflate compression
-  Options
-    configures multiple timeouts
-    configures open timeout
-    configures timeout
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
 
-Faraday::Middleware
-  #close
-    with app that doesn't support #close
-      should issue warning
-    with app that supports #close
-      should issue warning
+Faraday::RequestOptions
+  allows to set the request proxy
 
-Faraday::Env
-  ignores false when fetching
-  allows to access string non members
-  allows to access members
-  allows to access symbol non members
-  retains custom members
-  #body
-    when response is not finished yet
-      returns the request body
-    when response is finished
-      returns the response body
-      allows to access request_body
-      allows to access response_body
+Faraday::Request::Authorization
+  token_auth
+    when passed correct params
+      is expected to eq "Token token=\"quux\""
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when other values are provided
+      is expected to match /token="baz"/
+      is expected to match /foo="42"/
+      is expected to match /^Token /
+      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
+  authorization
+    when passed two strings
+      is expected to eq "custom abc def"
+      and request already has an authentication header
+        does not interfere with existing authorization
+    when passed a string and a hash
+      is expected to eq "baz foo=\"42\""
+      and request already has an authentication header
+        does not interfere with existing authorization
+
+Faraday::Utils
+  URI parsing
+    parses with URI
+    parses with default parser
+    replaces headers hash
+    escapes safe buffer
+    parses with block
+  headers parsing
+    parse headers for aggregated responses
+
+Faraday::AdapterRegistry
+  #initialize
+    looks up class by string name
+    looks up class by symbol name
+    caches lookups with explicit name
+    is expected to raise NameError
+    is expected to raise NameError
+    caches lookups with implicit name
 
 Faraday::Adapter::Typhoeus
   behaves like an adapter
-    with SSL disabled
-      #put
+    with SSL enabled
+      #head
         behaves like a request method
-          sends url encoded nested parameters
-          sends request body
           represents empty body response as blank string
-          handles headers with multiple values
-          sends url encoded parameters
+          sends request body
+          sends url encoded nested parameters
+          supports timeout option
+          sends user agent
+          retrieves the response body
+          supports open_timeout option
           retrieves the response headers
+          handles headers with multiple values
           handles requests with proxy
-          supports open_timeout option
-          retrieves the response body
           handles connection error
-          sends files
-          supports timeout option
-          sends user agent
+          sends url encoded parameters
           handles proxy failures
           with parallel setup
             handles parallel requests status
             handles parallel requests body
       #patch
         behaves like a request method
-          handles headers with multiple values
-          supports timeout option
-          sends files
           represents empty body response as blank string
+          sends request body
+          sends url encoded parameters
+          handles headers with multiple values
+          handles requests with proxy
           retrieves the response headers
           supports open_timeout option
-          sends url encoded parameters
+          retrieves the response body
           handles connection error
-          sends user agent
-          sends request body
-          handles requests with proxy
           handles proxy failures
-          retrieves the response body
           sends url encoded nested parameters
+          supports timeout option
+          sends files
+          sends user agent
           with parallel setup
-            handles parallel requests status
             handles parallel requests body
-      #options
+            handles parallel requests status
+      #trace
         behaves like a request method
-          sends url encoded nested parameters
+          handles headers with multiple values
+          represents empty body response as blank string
           supports timeout option
+          handles proxy failures
           handles requests with proxy
+          handles connection error
           sends request body
+          sends user agent
           sends url encoded parameters
-          handles proxy failures
+          sends url encoded nested parameters
           retrieves the response body
-          handles connection error
-          sends user agent
-          represents empty body response as blank string
-          supports open_timeout option
           retrieves the response headers
-          handles headers with multiple values
+          supports open_timeout option
           with parallel setup
             handles parallel requests body
             handles parallel requests status
-      #delete
+      #post
         behaves like a request method
-          sends url encoded nested parameters
-          sends request body
-          handles connection error
+          supports open_timeout option
           represents empty body response as blank string
+          handles requests with proxy
+          sends url encoded nested parameters
           retrieves the response body
-          handles headers with multiple values
+          handles proxy failures
           retrieves the response headers
-          supports open_timeout option
+          sends files
           sends user agent
-          handles proxy failures
+          handles headers with multiple values
           sends url encoded parameters
+          handles connection error
+          sends request body
           supports timeout option
-          handles requests with proxy
           with parallel setup
             handles parallel requests body
             handles parallel requests status
       #get
         behaves like a request method
-          handles proxy failures
-          retrieves the response headers
           sends url encoded parameters
-          retrieves the response body
-          handles connection error
-          represents empty body response as blank string
-          supports timeout option
-          sends url encoded nested parameters
+          handles headers with multiple values
           supports open_timeout option
-          sends request body
+          retrieves the response headers
           handles requests with proxy
           sends user agent
-          handles headers with multiple values
+          sends request body
+          represents empty body response as blank string
+          handles connection error
+          retrieves the response body
+          handles proxy failures
+          supports timeout option
+          sends url encoded nested parameters
           with parallel setup
-            handles parallel requests status
             handles parallel requests body
-      #head
+            handles parallel requests status
+      #put
         behaves like a request method
+          retrieves the response headers
+          sends user agent
           handles headers with multiple values
           sends request body
-          handles proxy failures
-          sends user agent
-          sends url encoded parameters
-          represents empty body response as blank string
-          retrieves the response headers
+          sends files
           supports open_timeout option
-          supports timeout option
+          handles proxy failures
+          handles requests with proxy
           retrieves the response body
+          supports timeout option
+          represents empty body response as blank string
+          sends url encoded parameters
           sends url encoded nested parameters
-          handles requests with proxy
           handles connection error
           with parallel setup
-            handles parallel requests status
             handles parallel requests body
-      #trace
+            handles parallel requests status
+      #options
         behaves like a request method
-          retrieves the response body
-          handles proxy failures
           supports open_timeout option
-          sends url encoded nested parameters
-          handles requests with proxy
-          sends url encoded parameters
           handles headers with multiple values
-          sends request body
           sends user agent
-          handles connection error
-          retrieves the response headers
-          represents empty body response as blank string
-          supports timeout option
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #post
-        behaves like a request method
-          retrieves the response headers
           supports timeout option
-          handles headers with multiple values
-          retrieves the response body
           sends url encoded nested parameters
+          retrieves the response body
           handles connection error
-          sends user agent
           represents empty body response as blank string
-          sends files
           handles requests with proxy
           handles proxy failures
-          supports open_timeout option
+          retrieves the response headers
           sends request body
           sends url encoded parameters
           with parallel setup
             handles parallel requests status
             handles parallel requests body
-    with SSL enabled
-      #trace
+      #delete
         behaves like a request method
           retrieves the response body
+          supports open_timeout option
           sends user agent
-          handles connection error
+          retrieves the response headers
           sends url encoded parameters
-          supports open_timeout option
           represents empty body response as blank string
           handles requests with proxy
-          supports timeout option
+          handles headers with multiple values
           sends url encoded nested parameters
-          sends request body
+          handles connection error
+          supports timeout option
           handles proxy failures
-          handles headers with multiple values
-          retrieves the response headers
+          sends request body
           with parallel setup
-            handles parallel requests status
             handles parallel requests body
+            handles parallel requests status
+    with SSL disabled
       #options
         behaves like a request method
           sends url encoded nested parameters
-          retrieves the response body
+          sends request body
           supports open_timeout option
+          handles headers with multiple values
           sends user agent
+          sends url encoded parameters
+          supports timeout option
+          retrieves the response headers
+          represents empty body response as blank string
+          retrieves the response body
+          handles connection error
+          handles proxy failures
           handles requests with proxy
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #post
+        behaves like a request method
           represents empty body response as blank string
+          sends url encoded nested parameters
+          sends files
           handles headers with multiple values
-          handles connection error
+          handles requests with proxy
+          supports open_timeout option
           supports timeout option
+          sends url encoded parameters
           handles proxy failures
-          retrieves the response headers
+          sends user agent
           sends request body
-          sends url encoded parameters
+          retrieves the response headers
+          handles connection error
+          retrieves the response body
           with parallel setup
             handles parallel requests body
             handles parallel requests status
-      #post
+      #trace
         behaves like a request method
-          sends request body
-          handles requests with proxy
           handles proxy failures
-          sends url encoded parameters
-          represents empty body response as blank string
-          handles connection error
+          retrieves the response body
+          retrieves the response headers
+          sends request body
           supports timeout option
-          supports open_timeout option
           sends url encoded nested parameters
+          sends url encoded parameters
+          handles requests with proxy
           sends user agent
+          represents empty body response as blank string
           handles headers with multiple values
-          sends files
-          retrieves the response body
-          retrieves the response headers
+          supports open_timeout option
+          handles connection error
           with parallel setup
-            handles parallel requests status
             handles parallel requests body
+            handles parallel requests status
       #put
         behaves like a request method
+          handles requests with proxy
+          supports open_timeout option
+          handles headers with multiple values
+          supports timeout option
+          handles proxy failures
           sends url encoded parameters
+          sends url encoded nested parameters
           sends user agent
           retrieves the response headers
-          supports open_timeout option
-          handles requests with proxy
           sends request body
-          represents empty body response as blank string
-          sends url encoded nested parameters
-          supports timeout option
-          retrieves the response body
           sends files
-          handles headers with multiple values
+          retrieves the response body
+          represents empty body response as blank string
           handles connection error
-          handles proxy failures
           with parallel setup
             handles parallel requests body
             handles parallel requests status
-      #head
+      #get
         behaves like a request method
-          sends user agent
+          retrieves the response body
+          sends request body
+          sends url encoded nested parameters
           retrieves the response headers
-          handles requests with proxy
+          handles proxy failures
           handles connection error
-          sends request body
           sends url encoded parameters
-          retrieves the response body
-          supports open_timeout option
           supports timeout option
           handles headers with multiple values
-          sends url encoded nested parameters
-          handles proxy failures
+          sends user agent
+          supports open_timeout option
           represents empty body response as blank string
+          handles requests with proxy
           with parallel setup
-            handles parallel requests body
             handles parallel requests status
-      #patch
+            handles parallel requests body
+      #delete
         behaves like a request method
-          handles requests with proxy
-          sends request body
+          represents empty body response as blank string
           retrieves the response headers
-          handles proxy failures
-          sends files
-          supports timeout option
-          sends url encoded nested parameters
+          sends request body
+          handles requests with proxy
           sends user agent
-          represents empty body response as blank string
-          retrieves the response body
+          handles headers with multiple values
+          sends url encoded nested parameters
           supports open_timeout option
+          supports timeout option
           sends url encoded parameters
+          retrieves the response body
           handles connection error
-          handles headers with multiple values
+          handles proxy failures
           with parallel setup
             handles parallel requests status
             handles parallel requests body
-      #get
+      #patch
         behaves like a request method
-          handles connection error
-          handles headers with multiple values
-          retrieves the response body
-          sends request body
-          represents empty body response as blank string
           handles requests with proxy
-          sends user agent
           retrieves the response headers
-          sends url encoded parameters
+          sends files
           handles proxy failures
-          sends url encoded nested parameters
+          sends url encoded parameters
           supports open_timeout option
+          handles headers with multiple values
           supports timeout option
+          retrieves the response body
+          sends user agent
+          handles connection error
+          sends request body
+          represents empty body response as blank string
+          sends url encoded nested parameters
           with parallel setup
-            handles parallel requests body
             handles parallel requests status
-      #delete
+            handles parallel requests body
+      #head
         behaves like a request method
-          sends user agent
-          sends request body
-          sends url encoded parameters
-          retrieves the response headers
-          retrieves the response body
           supports timeout option
-          represents empty body response as blank string
           sends url encoded nested parameters
-          supports open_timeout option
-          handles connection error
-          handles headers with multiple values
+          sends user agent
           handles requests with proxy
           handles proxy failures
+          retrieves the response body
+          supports open_timeout option
+          retrieves the response headers
+          handles headers with multiple values
+          represents empty body response as blank string
+          handles connection error
+          sends request body
+          sends url encoded parameters
           with parallel setup
             handles parallel requests body
             handles parallel requests status
 
-Faraday::Options
-  #merge
-    deeply merges options with options having nil sub-options
-    deeply merges options with nil
-    merges options with hashes
-    deeply merges two options
-    deeply merges options with hashes
-    #deep_dup
-      duplicate options and also suboptions
-    #each_key
-      allows to iterate through keys
-    #value?
-      returns true if any key has that value
-    #each_value
-      allows to iterate through values
-    #key?
-      returns true if the key exists and is not nil
-    #fetch
-      when the fetched key has no value
-        uses falsey default
-        needs a default if key is missing
-        accepts block
-      when the fetched key has a value
-        grabs value
-        works with key
-    #delete
-      allows to remove value for key
-    #clear
-      clears the options
-    #memoized
-      requires block
-      accepts block
-    #dup
-      duplicate options but not sub-options
-    #empty?
-      returns true only if all options are nil
-    #from
-      respects inheritance
-      is expected to raise NoMethodError
-      works with hash
-      works with nil
-      works with options
-      works with deep hash
-      works with options with sub object
-      works with hash with sub object
-    #update
-      updates options from hashes
-
 Faraday::Adapter::NetHttpPersistent
   allows to provide adapter specific configs
   sets max_retries to 0
@@ -3501,981 +2635,1376 @@
     allows to set min_version in SSL settings
   behaves like an adapter
     with SSL disabled
-      #put
+      #post
         behaves like a request method
+          represents empty body response as blank string
           handles proxy failures
-          supports open_timeout option
-          supports timeout option
+          retrieves the response headers
           sends files
-          sends request body
-          handles headers with multiple values
+          supports timeout option
           handles requests with proxy
+          retrieves the response body
+          handles headers with multiple values
+          handles gzip compression
           sends url encoded parameters
-          retrieves the response headers
+          sends request body
+          sends user agent
+          handles connection error
+          supports open_timeout option
+          handles deflate compression
           sends url encoded nested parameters
-          handles gzip compression
-          represents empty body response as blank string
+          parses the reason phrase
+      #head
+        behaves like a request method
+          sends url encoded parameters
           handles connection error
+          handles proxy failures
+          represents empty body response as blank string
+          sends url encoded nested parameters
+          retrieves the response body
           parses the reason phrase
+          sends user agent
+          supports open_timeout option
+          supports timeout option
+          handles requests with proxy
+          retrieves the response headers
+          handles headers with multiple values
+          sends request body
+      #put
+        behaves like a request method
+          handles proxy failures
+          sends url encoded nested parameters
+          sends request body
           handles deflate compression
+          supports open_timeout option
+          parses the reason phrase
+          retrieves the response headers
           retrieves the response body
+          handles connection error
           sends user agent
-      #options
+          represents empty body response as blank string
+          sends files
+          handles requests with proxy
+          handles headers with multiple values
+          sends url encoded parameters
+          handles gzip compression
+          supports timeout option
+      #patch
         behaves like a request method
+          sends url encoded nested parameters
+          parses the reason phrase
+          retrieves the response headers
+          sends files
+          handles requests with proxy
+          sends url encoded parameters
+          sends request body
           represents empty body response as blank string
           handles connection error
-          sends request body
-          handles requests with proxy
+          sends user agent
+          handles gzip compression
+          supports timeout option
+          handles headers with multiple values
+          handles deflate compression
+          supports open_timeout option
           handles proxy failures
+          retrieves the response body
+      #options
+        behaves like a request method
+          handles gzip compression
+          sends url encoded nested parameters
+          handles connection error
           sends url encoded parameters
-          retrieves the response headers
+          represents empty body response as blank string
           parses the reason phrase
           handles headers with multiple values
+          retrieves the response body
           supports open_timeout option
+          retrieves the response headers
           handles deflate compression
-          sends user agent
+          handles proxy failures
           supports timeout option
-          handles gzip compression
-          sends url encoded nested parameters
-          retrieves the response body
-      #get
-        behaves like a request method
           sends user agent
+          sends request body
+          handles requests with proxy
+      #delete
+        behaves like a request method
+          sends url encoded nested parameters
+          sends request body
           handles connection error
+          represents empty body response as blank string
           parses the reason phrase
+          retrieves the response body
+          supports open_timeout option
+          sends url encoded parameters
+          handles deflate compression
+          sends user agent
+          handles requests with proxy
+          handles gzip compression
           handles proxy failures
-          sends url encoded nested parameters
+          handles headers with multiple values
+          retrieves the response headers
           supports timeout option
+      #get
+        behaves like a request method
           supports open_timeout option
-          retrieves the response body
           handles headers with multiple values
+          retrieves the response body
+          sends user agent
+          sends url encoded parameters
+          handles proxy failures
+          handles requests with proxy
           sends request body
-          retrieves the response headers
+          sends url encoded nested parameters
+          supports timeout option
+          parses the reason phrase
+          handles deflate compression
+          handles connection error
           handles gzip compression
-          handles requests with proxy
+          retrieves the response headers
           represents empty body response as blank string
-          handles deflate compression
-          sends url encoded parameters
-      #delete
+      #trace
         behaves like a request method
           handles gzip compression
+          supports open_timeout option
+          handles connection error
+          handles deflate compression
+          represents empty body response as blank string
+          retrieves the response body
+          supports timeout option
+          sends request body
           sends url encoded parameters
+          handles requests with proxy
           sends url encoded nested parameters
-          retrieves the response body
+          handles proxy failures
           sends user agent
           handles headers with multiple values
-          handles requests with proxy
-          handles proxy failures
-          handles connection error
-          sends request body
-          represents empty body response as blank string
-          handles deflate compression
           retrieves the response headers
-          supports timeout option
           parses the reason phrase
-          supports open_timeout option
-      #post
+    with SSL enabled
+      #trace
         behaves like a request method
+          parses the reason phrase
+          represents empty body response as blank string
+          handles proxy failures
+          handles requests with proxy
+          handles gzip compression
+          handles deflate compression
+          sends user agent
           supports timeout option
           supports open_timeout option
-          handles gzip compression
           sends url encoded nested parameters
-          handles deflate compression
-          handles proxy failures
+          handles connection error
           sends request body
           retrieves the response headers
           sends url encoded parameters
-          sends files
-          sends user agent
-          handles requests with proxy
+          handles headers with multiple values
+          retrieves the response body
+      #post
+        behaves like a request method
           parses the reason phrase
-          handles connection error
+          sends url encoded nested parameters
           retrieves the response body
+          sends request body
+          handles requests with proxy
           handles headers with multiple values
-          represents empty body response as blank string
-      #head
-        behaves like a request method
-          handles proxy failures
           supports timeout option
-          retrieves the response body
-          parses the reason phrase
+          represents empty body response as blank string
           sends user agent
+          handles proxy failures
+          handles connection error
+          sends files
+          handles deflate compression
+          supports open_timeout option
+          sends url encoded parameters
+          handles gzip compression
           retrieves the response headers
+      #options
+        behaves like a request method
+          retrieves the response body
           sends request body
-          handles connection error
+          sends url encoded parameters
           handles headers with multiple values
-          supports open_timeout option
-          sends url encoded nested parameters
+          handles connection error
           handles requests with proxy
+          handles deflate compression
+          supports timeout option
           represents empty body response as blank string
-          sends url encoded parameters
+          sends user agent
+          handles gzip compression
+          retrieves the response headers
+          parses the reason phrase
+          sends url encoded nested parameters
+          handles proxy failures
+          supports open_timeout option
       #patch
         behaves like a request method
-          sends files
-          supports open_timeout option
-          handles connection error
+          supports timeout option
           represents empty body response as blank string
           retrieves the response body
-          handles gzip compression
-          parses the reason phrase
-          retrieves the response headers
           handles deflate compression
-          sends request body
-          handles headers with multiple values
+          retrieves the response headers
+          handles proxy failures
+          supports open_timeout option
           sends url encoded parameters
+          handles headers with multiple values
           sends url encoded nested parameters
-          supports timeout option
+          sends files
+          parses the reason phrase
           handles requests with proxy
-          handles proxy failures
+          handles connection error
           sends user agent
-      #trace
+          sends request body
+          handles gzip compression
+      #get
         behaves like a request method
-          handles headers with multiple values
-          supports open_timeout option
+          represents empty body response as blank string
           sends url encoded nested parameters
           retrieves the response headers
-          sends user agent
-          handles proxy failures
+          supports timeout option
+          handles connection error
+          supports open_timeout option
+          handles headers with multiple values
           handles requests with proxy
+          sends url encoded parameters
           parses the reason phrase
           retrieves the response body
-          represents empty body response as blank string
+          handles proxy failures
           handles gzip compression
-          supports timeout option
-          handles connection error
           sends request body
           handles deflate compression
-          sends url encoded parameters
-    with SSL enabled
-      #head
+          sends user agent
+      #put
         behaves like a request method
+          handles gzip compression
           sends request body
-          sends user agent
-          sends url encoded parameters
+          handles deflate compression
           supports open_timeout option
-          retrieves the response headers
-          supports timeout option
-          handles proxy failures
-          handles requests with proxy
+          sends files
           parses the reason phrase
+          handles proxy failures
           sends url encoded nested parameters
+          sends user agent
+          retrieves the response headers
+          supports timeout option
           handles headers with multiple values
           represents empty body response as blank string
-          handles connection error
+          sends url encoded parameters
           retrieves the response body
-      #options
+          handles connection error
+          handles requests with proxy
+      #head
         behaves like a request method
-          handles proxy failures
+          represents empty body response as blank string
+          supports timeout option
+          handles connection error
+          supports open_timeout option
+          parses the reason phrase
+          retrieves the response body
+          handles requests with proxy
+          sends url encoded nested parameters
+          handles headers with multiple values
           sends url encoded parameters
+          sends request body
+          handles proxy failures
           sends user agent
-          handles gzip compression
-          parses the reason phrase
-          handles connection error
           retrieves the response headers
-          handles requests with proxy
+      #delete
+        behaves like a request method
+          handles connection error
+          handles proxy failures
           sends request body
-          handles headers with multiple values
+          sends user agent
+          sends url encoded parameters
+          retrieves the response headers
           represents empty body response as blank string
+          parses the reason phrase
+          supports timeout option
           retrieves the response body
           supports open_timeout option
+          handles gzip compression
+          handles requests with proxy
           handles deflate compression
-          supports timeout option
           sends url encoded nested parameters
-      #trace
+          handles headers with multiple values
+
+Faraday::Adapter::HTTPClient
+  allows to provide adapter specific configs
+  Options
+    configures multiple timeouts
+    configures open timeout
+    configures timeout
+  behaves like an adapter
+    with SSL disabled
+      #put
         behaves like a request method
-          sends user agent
+          handles headers with multiple values
+          handles gzip compression
+          sends url encoded parameters
+          handles proxy failures
           handles requests with proxy
+          handles deflate compression
+          sends files
+          sends url encoded nested parameters
+          parses the reason phrase
           represents empty body response as blank string
+          retrieves the response headers
+          supports timeout option
+          binds local socket
+          sends request body
           retrieves the response body
+          sends user agent
+          supports open_timeout option
+          handles connection error
+      #delete
+        behaves like a request method
           handles connection error
+          parses the reason phrase
           sends request body
+          retrieves the response body
+          binds local socket
+          handles deflate compression
+          sends user agent
+          supports open_timeout option
           supports timeout option
+          sends url encoded parameters
+          handles gzip compression
+          retrieves the response headers
+          represents empty body response as blank string
           sends url encoded nested parameters
-          parses the reason phrase
-          supports open_timeout option
           handles headers with multiple values
-          retrieves the response headers
           handles proxy failures
-          sends url encoded parameters
+          handles requests with proxy
+      #options
+        behaves like a request method
+          represents empty body response as blank string
+          handles proxy failures
+          sends user agent
+          retrieves the response headers
+          sends request body
+          retrieves the response body
+          supports open_timeout option
           handles gzip compression
+          handles headers with multiple values
+          handles requests with proxy
+          binds local socket
+          handles connection error
+          parses the reason phrase
           handles deflate compression
-      #post
+          sends url encoded nested parameters
+          sends url encoded parameters
+          supports timeout option
+      #trace
         behaves like a request method
-          handles connection error
+          retrieves the response headers
+          parses the reason phrase
           supports timeout option
           sends user agent
-          sends files
-          sends url encoded parameters
-          handles headers with multiple values
           sends url encoded nested parameters
-          supports open_timeout option
+          handles connection error
+          sends url encoded parameters
+          binds local socket
+          retrieves the response body
+          handles proxy failures
           handles requests with proxy
+          supports open_timeout option
+          represents empty body response as blank string
+          handles headers with multiple values
+          sends request body
           handles deflate compression
           handles gzip compression
-          parses the reason phrase
+      #head
+        behaves like a request method
+          sends url encoded nested parameters
+          handles connection error
+          binds local socket
+          supports timeout option
           retrieves the response body
-          retrieves the response headers
           sends request body
+          sends user agent
           handles proxy failures
           represents empty body response as blank string
-      #put
+          retrieves the response headers
+          sends url encoded parameters
+          supports open_timeout option
+          handles requests with proxy
+          parses the reason phrase
+          handles headers with multiple values
+      #patch
         behaves like a request method
+          handles deflate compression
+          represents empty body response as blank string
           supports open_timeout option
+          retrieves the response headers
           handles proxy failures
-          sends files
+          sends url encoded parameters
           sends url encoded nested parameters
-          handles deflate compression
-          handles gzip compression
-          handles requests with proxy
+          sends request body
           parses the reason phrase
           handles connection error
+          handles headers with multiple values
+          sends files
+          binds local socket
+          sends user agent
+          handles requests with proxy
+          retrieves the response body
+          handles gzip compression
+          supports timeout option
+      #get
+        behaves like a request method
           sends url encoded parameters
+          handles deflate compression
+          handles connection error
+          binds local socket
+          represents empty body response as blank string
+          supports timeout option
           retrieves the response headers
+          parses the reason phrase
+          handles headers with multiple values
+          handles gzip compression
+          sends url encoded nested parameters
+          supports open_timeout option
+          handles proxy failures
+          sends request body
+          sends user agent
+          retrieves the response body
+          handles requests with proxy
+      #post
+        behaves like a request method
+          binds local socket
+          supports open_timeout option
+          handles gzip compression
+          handles requests with proxy
+          sends url encoded parameters
+          sends url encoded nested parameters
           represents empty body response as blank string
+          retrieves the response headers
+          handles deflate compression
+          sends user agent
+          handles headers with multiple values
+          handles connection error
           retrieves the response body
+          parses the reason phrase
           sends request body
           supports timeout option
-          sends user agent
+          sends files
+          handles proxy failures
+    with SSL enabled
+      #head
+        behaves like a request method
+          binds local socket
+          sends url encoded parameters
           handles headers with multiple values
+          sends request body
+          sends user agent
+          supports timeout option
+          represents empty body response as blank string
+          handles requests with proxy
+          retrieves the response headers
+          supports open_timeout option
+          sends url encoded nested parameters
+          handles proxy failures
+          handles connection error
+          parses the reason phrase
+          retrieves the response body
       #patch
         behaves like a request method
-          retrieves the response body
-          supports open_timeout option
           handles deflate compression
+          sends request body
+          handles connection error
           sends url encoded parameters
+          sends url encoded nested parameters
+          binds local socket
+          parses the reason phrase
+          retrieves the response headers
+          handles proxy failures
           handles requests with proxy
+          handles headers with multiple values
           sends user agent
+          sends files
+          represents empty body response as blank string
+          retrieves the response body
+          handles gzip compression
           supports timeout option
-          retrieves the response headers
+          supports open_timeout option
+      #options
+        behaves like a request method
           handles headers with multiple values
-          represents empty body response as blank string
           parses the reason phrase
-          sends files
+          sends url encoded nested parameters
+          handles deflate compression
+          retrieves the response body
+          supports timeout option
+          sends url encoded parameters
+          represents empty body response as blank string
+          supports open_timeout option
+          handles proxy failures
+          handles requests with proxy
+          retrieves the response headers
+          handles gzip compression
+          handles connection error
+          binds local socket
           sends request body
+          sends user agent
+      #get
+        behaves like a request method
           handles gzip compression
+          supports open_timeout option
           handles proxy failures
-          sends url encoded nested parameters
           handles connection error
-      #delete
-        behaves like a request method
           represents empty body response as blank string
+          sends request body
+          sends url encoded nested parameters
+          supports timeout option
+          retrieves the response body
           handles headers with multiple values
           parses the reason phrase
+          retrieves the response headers
           handles deflate compression
+          handles requests with proxy
+          sends url encoded parameters
+          sends user agent
+          binds local socket
+      #trace
+        behaves like a request method
+          retrieves the response body
+          sends url encoded nested parameters
           supports open_timeout option
+          sends user agent
+          represents empty body response as blank string
+          parses the reason phrase
+          handles proxy failures
+          handles connection error
+          sends url encoded parameters
           retrieves the response headers
-          sends request body
-          retrieves the response body
-          handles gzip compression
           handles requests with proxy
-          sends user agent
+          supports timeout option
+          handles headers with multiple values
+          binds local socket
+          handles deflate compression
+          handles gzip compression
+          sends request body
+      #post
+        behaves like a request method
+          sends url encoded nested parameters
           handles connection error
           handles proxy failures
-          sends url encoded nested parameters
+          represents empty body response as blank string
+          parses the reason phrase
+          handles requests with proxy
+          sends request body
+          retrieves the response headers
           sends url encoded parameters
+          handles headers with multiple values
+          handles gzip compression
+          binds local socket
+          handles deflate compression
           supports timeout option
-      #get
-        behaves like a request method
-          sends user agent
+          sends files
+          retrieves the response body
           supports open_timeout option
+          sends user agent
+      #delete
+        behaves like a request method
+          represents empty body response as blank string
+          sends request body
+          supports timeout option
           handles headers with multiple values
+          handles deflate compression
+          handles proxy failures
+          sends url encoded parameters
           retrieves the response headers
-          parses the reason phrase
           sends url encoded nested parameters
+          handles gzip compression
+          binds local socket
+          handles connection error
+          supports open_timeout option
+          retrieves the response body
+          handles requests with proxy
+          parses the reason phrase
+          sends user agent
+      #put
+        behaves like a request method
+          binds local socket
+          sends request body
+          retrieves the response body
+          handles headers with multiple values
+          sends user agent
           supports timeout option
+          sends files
           handles requests with proxy
-          sends url encoded parameters
           represents empty body response as blank string
-          retrieves the response body
-          sends request body
+          supports open_timeout option
           handles connection error
-          handles proxy failures
           handles deflate compression
+          retrieves the response headers
+          parses the reason phrase
           handles gzip compression
-
-Faraday::NestedParamsEncoder
-  encodes boolean values
-  decodes nested ignores malformed keys
-  decodes nested ignores invalid array
-  decodes nested ignores repeated array notation
-  decodes nested arrays rack compat
-  decodes nested final value overrides any type
-  decodes nested subkeys dont have to be in brackets
-  decodes nested array mixed types
-  decodes hashes
-  encodes nil array value
-  encodes boolean values in array
-  encodes unsorted when asked
-  decodes arrays
-  encodes empty string array value
-  encodes rack compat
-  encodes empty array value
-  when expecting array but getting hash
-    behaves like a wrong decoding
-      is expected to raise TypeError
-  when expecting array but getting string
-    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
-    encodes nil
-    escapes safe buffer
-    raises type error for empty string
-  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
-
-Faraday::AdapterRegistry
-  #initialize
-    caches lookups with explicit name
-    is expected to raise NameError
-    looks up class by symbol name
-    caches lookups with implicit name
-    looks up class by string name
-    is expected to raise NameError
+          sends url encoded nested parameters
+          sends url encoded parameters
+          handles proxy failures
 
 Faraday::Request::Instrumentation
+  instruments with default name
   defaults to ActiveSupport::Notifications
   is expected to eq "request.faraday"
-  instruments with default name
   with custom name
     instruments with custom name
     is expected to eq "custom"
   with custom instrumenter
     is expected to eq :custom
 
-Faraday::Adapter::EMSynchrony
-  allows to provide adapter specific configs
+Faraday::Adapter::Rack
   behaves like an adapter
-    with SSL disabled
-      #get
+    with SSL enabled
+      #options
         behaves like a request method
           retrieves the response body
-          represents empty body response as blank string
           sends user agent
-          supports timeout option
           handles connection error
-          sends url encoded nested parameters
-          retrieves the response headers
-          parses the reason phrase
+          represents empty body response as blank string
+          supports timeout option
           handles headers with multiple values
-          binds local socket
-          supports open_timeout option
-          sends request body
           handles requests with proxy
           handles proxy failures
+          sends request body
+          supports open_timeout option
           sends url encoded parameters
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #head
-        behaves like a request method
+          sends url encoded nested parameters
           retrieves the response headers
-          sends url encoded parameters
+      #put
+        behaves like a request method
           sends request body
-          binds local socket
+          handles connection error
           supports open_timeout option
           handles requests with proxy
-          sends url encoded nested parameters
-          handles connection error
-          parses the reason phrase
-          represents empty body response as blank string
           sends user agent
-          handles headers with multiple values
           supports timeout option
-          handles proxy failures
-          with parallel setup
-            handles parallel requests status
-      #options
-        behaves like a request method
-          handles connection error
-          sends user agent
           represents empty body response as blank string
-          binds local socket
-          retrieves the response body
-          supports timeout option
+          handles proxy failures
+          sends url encoded parameters
           handles headers with multiple values
           retrieves the response headers
-          sends url encoded parameters
-          sends request body
-          supports open_timeout option
-          handles proxy failures
-          parses the reason phrase
+          sends files
           sends url encoded nested parameters
-          handles requests with proxy
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #put
+          retrieves the response body
+      #patch
         behaves like a request method
-          sends url encoded parameters
-          handles headers with multiple values
           represents empty body response as blank string
+          sends user agent
           handles requests with proxy
-          binds local socket
+          handles proxy failures
+          sends url encoded parameters
+          supports open_timeout option
+          sends files
+          handles connection error
           supports timeout option
+          sends request body
+          handles headers with multiple values
+          retrieves the response headers
           sends url encoded nested parameters
-          sends files
           retrieves the response body
-          handles proxy failures
+      #head
+        behaves like a request method
+          sends user agent
+          supports open_timeout option
+          sends request body
+          sends url encoded nested parameters
+          handles headers with multiple values
           retrieves the response headers
-          parses the reason phrase
           handles connection error
-          sends request body
-          supports open_timeout option
-          sends user agent
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #delete
+          supports timeout option
+          handles requests with proxy
+          represents empty body response as blank string
+          sends url encoded parameters
+          handles proxy failures
+      #get
         behaves like a request method
-          sends request body
-          sends user agent
+          handles connection error
+          retrieves the response headers
           handles proxy failures
-          sends url encoded parameters
-          binds local socket
           supports open_timeout option
-          retrieves the response headers
-          sends url encoded nested parameters
           handles requests with proxy
           supports timeout option
           retrieves the response body
-          handles connection error
-          handles headers with multiple values
           represents empty body response as blank string
-          parses the reason phrase
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #post
+          handles headers with multiple values
+          sends url encoded parameters
+          sends user agent
+          sends url encoded nested parameters
+          sends request body
+      #trace
         behaves like a request method
-          represents empty body response as blank string
+          supports timeout option
           handles requests with proxy
-          sends files
-          sends url encoded nested parameters
+          handles proxy failures
+          sends user agent
+          retrieves the response body
+          supports open_timeout option
+          represents empty body response as blank string
+          handles connection error
+          retrieves the response headers
           sends url encoded parameters
+          handles headers with multiple values
           sends request body
-          parses the reason phrase
-          handles connection error
+          sends url encoded nested parameters
+      #delete
+        behaves like a request method
+          retrieves the response body
           handles headers with multiple values
+          represents empty body response as blank string
+          sends url encoded nested parameters
           supports timeout option
-          retrieves the response body
+          sends url encoded parameters
           sends user agent
-          binds local socket
+          handles requests with proxy
+          supports open_timeout option
           retrieves the response headers
+          sends request body
           handles proxy failures
-          supports open_timeout option
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
-      #patch
+          handles connection error
+      #post
         behaves like a request method
-          retrieves the response body
           sends request body
+          handles proxy failures
           supports open_timeout option
-          sends url encoded parameters
-          supports timeout option
-          binds local socket
-          handles connection error
           sends files
-          handles headers with multiple values
-          retrieves the response headers
-          handles proxy failures
+          handles requests with proxy
           sends user agent
+          retrieves the response body
+          supports timeout option
           sends url encoded nested parameters
-          parses the reason phrase
+          sends url encoded parameters
+          handles headers with multiple values
           represents empty body response as blank string
-          handles requests with proxy
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-    with SSL enabled
-      #post
+          retrieves the response headers
+          handles connection error
+    with SSL disabled
+      #trace
         behaves like a request method
           handles headers with multiple values
-          sends user agent
+          sends request body
+          sends url encoded nested parameters
+          supports timeout option
+          handles proxy failures
+          sends url encoded parameters
           handles connection error
-          binds local socket
-          parses the reason phrase
+          retrieves the response headers
           retrieves the response body
+          sends user agent
           supports open_timeout option
-          sends files
           handles requests with proxy
           represents empty body response as blank string
-          supports timeout option
-          sends url encoded parameters
-          handles proxy failures
-          sends url encoded nested parameters
-          sends request body
-          retrieves the response headers
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #options
+      #head
         behaves like a request method
-          handles proxy failures
-          parses the reason phrase
-          sends url encoded nested parameters
-          represents empty body response as blank string
-          supports open_timeout option
+          handles requests with proxy
           sends url encoded parameters
-          supports timeout option
-          retrieves the response body
+          supports open_timeout option
           sends user agent
-          handles requests with proxy
-          handles connection error
+          sends url encoded nested parameters
+          retrieves the response headers
           handles headers with multiple values
           sends request body
-          retrieves the response headers
-          binds local socket
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #put
+          handles connection error
+          supports timeout option
+          represents empty body response as blank string
+          handles proxy failures
+      #patch
         behaves like a request method
-          retrieves the response headers
+          handles requests with proxy
+          handles headers with multiple values
+          represents empty body response as blank string
           supports timeout option
           supports open_timeout option
-          sends user agent
-          binds local socket
-          handles connection error
-          handles requests with proxy
           sends url encoded nested parameters
-          sends url encoded parameters
-          retrieves the response body
           handles proxy failures
-          parses the reason phrase
+          sends url encoded parameters
+          retrieves the response headers
           sends request body
           sends files
-          handles headers with multiple values
-          represents empty body response as blank string
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #patch
+          retrieves the response body
+          sends user agent
+          handles connection error
+      #post
         behaves like a request method
+          sends user agent
           sends files
           supports open_timeout option
-          represents empty body response as blank string
           sends url encoded nested parameters
-          handles connection error
-          sends request body
+          represents empty body response as blank string
           handles headers with multiple values
-          parses the reason phrase
           supports timeout option
           sends url encoded parameters
+          handles proxy failures
+          sends request body
+          handles connection error
+          handles requests with proxy
+          retrieves the response headers
           retrieves the response body
+      #put
+        behaves like a request method
+          retrieves the response body
+          handles connection error
+          sends request body
+          supports timeout option
           handles proxy failures
+          sends url encoded nested parameters
           sends user agent
+          handles headers with multiple values
           retrieves the response headers
-          binds local socket
+          sends files
+          sends url encoded parameters
+          represents empty body response as blank string
+          supports open_timeout option
           handles requests with proxy
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
       #delete
         behaves like a request method
+          retrieves the response headers
+          retrieves the response body
+          sends url encoded nested parameters
+          sends url encoded parameters
+          represents empty body response as blank string
           handles requests with proxy
           sends user agent
-          sends url encoded parameters
-          handles headers with multiple values
-          supports open_timeout option
           sends request body
-          retrieves the response headers
+          supports open_timeout option
           handles proxy failures
-          sends url encoded nested parameters
-          represents empty body response as blank string
+          handles headers with multiple values
           supports timeout option
-          parses the reason phrase
           handles connection error
-          retrieves the response body
-          binds local socket
-          with parallel setup
-            handles parallel requests body
-            handles parallel requests status
       #get
         behaves like a request method
+          handles headers with multiple values
+          sends url encoded nested parameters
+          retrieves the response body
+          handles proxy failures
+          sends url encoded parameters
+          handles requests with proxy
+          represents empty body response as blank string
           retrieves the response headers
+          supports timeout option
           supports open_timeout option
-          sends request body
           handles connection error
-          sends url encoded nested parameters
-          handles headers with multiple values
+          sends request body
           sends user agent
-          sends url encoded parameters
-          supports timeout option
-          handles proxy failures
-          binds local socket
-          represents empty body response as blank string
-          handles requests with proxy
-          retrieves the response body
-          parses the reason phrase
-          with parallel setup
-            handles parallel requests status
-            handles parallel requests body
-      #head
+      #options
         behaves like a request method
+          retrieves the response body
           sends url encoded parameters
+          supports timeout option
+          retrieves the response headers
           handles requests with proxy
-          handles connection error
-          parses the reason phrase
+          handles proxy failures
           handles headers with multiple values
-          supports timeout option
-          sends url encoded nested parameters
           represents empty body response as blank string
           sends user agent
-          retrieves the response headers
-          supports open_timeout option
-          handles proxy failures
-          binds local socket
           sends request body
-          with parallel setup
-            handles parallel requests status
+          sends url encoded nested parameters
+          supports open_timeout option
+          handles connection error
 
-Faraday::FlatParamsEncoder
-  encodes empty array in hash
-  decodes boolean values
-  decodes arrays
-  encodes boolean values
-  encodes boolean values in array
-  encodes unsorted when asked
-  behaves like a params encoder
-    escapes safe buffer
-    raises type error for empty string
-    encodes nil
+Faraday::Request::Multipart
+  when passing flat_encode=true option
+    encode params using flat encoder
+    behaves like a multipart request
+      generates a unique boundary for each request
+  UploadIO: when multipart objects in array param
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+  FilePart: when multipart objects in param
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+  UploadIO: when providing json and IO content in the same payload
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+  FilePart: when multipart objects in array param
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+  FilePart: when providing json and IO content in the same payload
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+  UploadIO: when multipart objects in param
+    forms a multipart request
+    behaves like a multipart request
+      generates a unique boundary for each request
+
+Faraday::Utils::Headers
+  when Content-Type is set to application/xml
+    is expected to eq "application/xml"
+    is expected to eq "application/xml"
+    is expected to include "content-type"
+    is expected to eq ["Content-Type"]
+    is expected to eq "application/xml"
+  #parse
+    when response headers include a blank line
+      is expected to eq "text/html"
+    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 values include a colon
+      is expected to eq "http://sushi.com/"
+  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"
+  #delete
+    is expected to eq "application/json"
+    is expected to be nil
+    is expected to eq 0
+    is expected not to include "content-type"
+  #fetch
+    is expected to eq "application/json"
+    is expected to eq "Invalid key"
+    raises an error if key not found
+    calls a block when provided
+    is expected to eq "default"
+    is expected to be nil
+    is expected to eq "application/json"
+    is expected to eq "application/json"
+    is expected to eq false
+
+Faraday
+  has a version number
+  proxies to default_connection
+    proxies methods that exist on the default_connection
+    uses method_missing on Faraday if there is no proxyable method
+    proxied methods can be accessed
 
 Faraday::Response::Logger
-  logs filter headers
+  logs response headers by default
+  logs request headers by default
   does not log request body by default
-  logs method and url
+  logs filter headers
+  does not log response body by default
   still returns output
+  logs method and url
   logs filter url
-  does not log response body by default
-  logs response headers by default
-  logs request headers by default
-  when logging request body
-    log only request body
-  when not logging request headers
-    does not log request headers if option is false
-  when logging response body
-    log only response body
   with default formatter
     delegates logging to the formatter
-  when logging request and response bodies
-    logs filter body
-    log response body object
-    log request and response body
-  when not logging response headers
-    does not log response headers if option is false
   without configuration
     defaults to stdout
+  when logging response body
+    log only response body
+  when not logging response headers
+    does not log response headers if option is false
+  when logging request body
+    log only request body
+  when logging request and response bodies
+    log request and response body
+    log response body object
+    logs filter body
+  when not logging request headers
+    does not log request headers if option is false
   with custom formatter
     logs with custom formatter
   when using log_level
-    logs request/request body on the specified level (debug)
-    logs headers on the debug level
     does not log headers on the info level
+    logs request/request body on the specified level (debug)
     does not log request/response body on the info level
+    logs headers on the debug level
 
-Faraday::Adapter::Rack
+Faraday::Request::Retry
+  when no exception raised
+    and response code is not in retry_statuses
+      is expected to eq 1
+    and response code is in retry_statuses
+      is expected to eq 2
+  when an expected error happens
+    is expected to eq 3
+    and legacy max_retry set to -9
+      is expected to eq 1
+    and new max_retry set to -9
+      is expected to eq 1
+    and new max_retry set to 3
+      is expected to eq 4
+    and legacy max_retry set to 1
+      is expected to eq 2
+    and both max_retry and interval are set
+      is expected to be within 0.04 of 0.2
+  when an unexpected error happens
+    is expected to eq 1
+    and this is passed as a custom exception
+      is expected to eq 3
+  retry_if option
+    retries if retry_if block always returns true
+    does not retry if retry_if block returns false checking env
+    does not retry if retry_if block returns false checking exception
+    UploadIO: should rewind files on retry
+    FilePart: should rewind files on retry
+    when explicitly specifying methods to retry
+      does not call retry_if for specified methods
+    with empty list of methods to retry
+      calls retry_if for all methods
+  when method is not idempotent
+    is expected to eq 1
+  retry_after header support
+    when retry_after smaller than interval
+      is expected to be > 0.2
+    when retry_after is a timestamp
+      is expected to be > 1
+    when retry_after is bigger than max_interval
+      is expected to eq 1
+    when retry_after bigger than interval
+      is expected to be > 0.5
+  #calculate_retry_interval
+    with exponential backoff and interval_randomness
+      is expected to be between 0.1 and 0.15 (inclusive)
+    with exponential backoff and max_interval
+      is expected to eq 0.1
+      is expected to eq 0.3
+      is expected to eq 0.2
+      is expected to eq 0.3
+    with exponential backoff
+      is expected to eq 0.1
+      is expected to eq 0.4
+      is expected to eq 0.2
+
+Faraday::CompositeReadIO
+  with empty parts
+    is expected to eq 0
+    is expected to eq ""
+    is expected to be nil
+  with utf8 multibyte part
+    allows to read in chunks
+    is expected to eq "\x86\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB"
+  with empty composite_io
+    is expected to eq 0
+    is expected to be nil
+    is expected to eq ""
+  with mix of empty and non-empty parts
+    allows to read in chunks
+  with 2 parts
+    is expected to eq "abcd1234"
+    allows to rewind while reading in chunks
+    is expected to eq 8
+    allows to read in chunks
+
+Faraday::Adapter::Excon
+  allows to provide adapter specific configs
+  config
+    sets timeout and open_timeout
+    sets timeout
+    sets open_timeout
   behaves like an adapter
     with SSL enabled
       #head
         behaves like a request method
-          handles connection error
+          handles requests with proxy
+          represents empty body response as blank string
+          sends url encoded parameters
+          parses the reason phrase
           supports open_timeout option
-          handles proxy failures
           sends url encoded nested parameters
           sends user agent
-          supports timeout option
-          sends url encoded parameters
+          retrieves the response headers
           sends request body
+          supports timeout option
+          handles connection error
+          retrieves the response body
           handles headers with multiple values
-          retrieves the response headers
-          represents empty body response as blank string
-          handles requests with proxy
-      #post
+          handles proxy failures
+      #delete
         behaves like a request method
-          represents empty body response as blank string
-          sends user agent
-          sends url encoded parameters
-          handles requests with proxy
-          sends files
+          retrieves the response body
+          handles proxy failures
           handles connection error
           handles headers with multiple values
           supports open_timeout option
+          sends user agent
+          sends url encoded parameters
+          represents empty body response as blank string
+          handles requests with proxy
+          sends request body
           sends url encoded nested parameters
           supports timeout option
-          retrieves the response body
-          sends request body
           retrieves the response headers
-          handles proxy failures
-      #patch
+          parses the reason phrase
+      #post
         behaves like a request method
-          sends url encoded nested parameters
-          handles proxy failures
-          supports timeout option
-          sends files
+          retrieves the response headers
           retrieves the response body
-          represents empty body response as blank string
+          handles proxy failures
+          parses the reason phrase
           sends request body
-          handles requests with proxy
           sends url encoded parameters
-          retrieves the response headers
-          supports open_timeout option
-          handles headers with multiple values
           handles connection error
+          sends files
+          handles requests with proxy
+          sends url encoded nested parameters
+          supports timeout option
+          handles headers with multiple values
           sends user agent
-      #trace
+          represents empty body response as blank string
+          supports open_timeout option
+      #options
         behaves like a request method
+          supports timeout option
+          handles requests with proxy
+          sends user agent
           represents empty body response as blank string
           handles proxy failures
-          sends url encoded nested parameters
           retrieves the response headers
-          supports timeout option
-          retrieves the response body
           handles connection error
           handles headers with multiple values
-          handles requests with proxy
           sends request body
           supports open_timeout option
+          retrieves the response body
           sends url encoded parameters
-          sends user agent
-      #get
+          parses the reason phrase
+          sends url encoded nested parameters
+      #put
         behaves like a request method
           sends url encoded nested parameters
-          handles requests with proxy
-          retrieves the response body
-          represents empty body response as blank string
-          handles proxy failures
+          sends user agent
           handles connection error
           sends url encoded parameters
           retrieves the response headers
-          sends user agent
-          sends request body
-          supports timeout option
           handles headers with multiple values
+          represents empty body response as blank string
+          parses the reason phrase
+          sends files
+          sends request body
+          handles requests with proxy
+          handles proxy failures
+          retrieves the response body
           supports open_timeout option
-      #delete
-        behaves like a request method
           supports timeout option
+      #get
+        behaves like a request method
           supports open_timeout option
-          sends user agent
-          retrieves the response body
           handles headers with multiple values
-          handles proxy failures
-          handles requests with proxy
-          retrieves the response headers
-          represents empty body response as blank string
-          sends url encoded nested parameters
           sends url encoded parameters
+          parses the reason phrase
+          represents empty body response as blank string
           sends request body
+          retrieves the response body
+          supports timeout option
+          sends user agent
+          retrieves the response headers
+          handles proxy failures
+          sends url encoded nested parameters
           handles connection error
-      #options
+          handles requests with proxy
+      #trace
         behaves like a request method
           sends url encoded nested parameters
-          retrieves the response headers
-          handles proxy failures
+          supports open_timeout option
           handles requests with proxy
-          handles headers with multiple values
-          sends url encoded parameters
+          parses the reason phrase
+          retrieves the response headers
           sends request body
-          supports open_timeout option
           retrieves the response body
+          handles headers with multiple values
+          handles connection error
           supports timeout option
-          represents empty body response as blank string
           sends user agent
-          handles connection error
-      #put
-        behaves like a request method
-          sends files
+          handles proxy failures
           sends url encoded parameters
-          retrieves the response headers
+          represents empty body response as blank string
+      #patch
+        behaves like a request method
+          retrieves the response body
           sends user agent
+          supports open_timeout option
+          supports timeout option
+          sends request body
           handles requests with proxy
-          sends url encoded nested parameters
-          represents empty body response as blank string
           handles headers with multiple values
+          parses the reason phrase
+          sends url encoded parameters
+          sends url encoded nested parameters
+          retrieves the response headers
           handles connection error
-          supports open_timeout option
-          sends request body
-          supports timeout option
-          retrieves the response body
+          sends files
           handles proxy failures
+          represents empty body response as blank string
     with SSL disabled
-      #delete
+      #post
         behaves like a request method
-          sends url encoded parameters
-          sends request body
-          handles connection error
-          sends url encoded nested parameters
-          represents empty body response as blank string
+          handles requests with proxy
           sends user agent
-          handles headers with multiple values
           retrieves the response headers
+          sends files
+          represents empty body response as blank string
+          supports timeout option
+          sends request body
           retrieves the response body
+          sends url encoded nested parameters
           handles proxy failures
-          supports timeout option
+          handles connection error
+          parses the reason phrase
+          sends url encoded parameters
           supports open_timeout option
-          handles requests with proxy
-      #options
+          handles headers with multiple values
+      #head
         behaves like a request method
-          retrieves the response headers
-          handles connection error
+          supports timeout option
           sends url encoded nested parameters
-          sends url encoded parameters
+          retrieves the response body
           handles headers with multiple values
+          sends url encoded parameters
           sends user agent
-          retrieves the response body
+          retrieves the response headers
+          sends request body
+          parses the reason phrase
           handles requests with proxy
           represents empty body response as blank string
-          handles proxy failures
-          supports timeout option
-          sends request body
           supports open_timeout option
+          handles connection error
+          handles proxy failures
       #trace
         behaves like a request method
-          retrieves the response headers
-          retrieves the response body
+          handles headers with multiple values
+          supports open_timeout option
+          sends user agent
+          parses the reason phrase
           supports timeout option
+          handles requests with proxy
+          retrieves the response body
           handles proxy failures
-          sends url encoded parameters
+          retrieves the response headers
           handles connection error
-          sends user agent
+          represents empty body response as blank string
           sends url encoded nested parameters
+          sends url encoded parameters
           sends request body
-          handles headers with multiple values
+      #delete
+        behaves like a request method
+          retrieves the response body
+          sends user agent
           supports open_timeout option
-          handles requests with proxy
           represents empty body response as blank string
-      #patch
-        behaves like a request method
           sends url encoded nested parameters
+          sends request body
+          sends url encoded parameters
+          parses the reason phrase
+          supports timeout option
           handles proxy failures
-          sends files
-          sends user agent
-          supports open_timeout option
-          retrieves the response body
+          handles headers with multiple values
           handles requests with proxy
+          handles connection error
+          retrieves the response headers
+      #options
+        behaves like a request method
           supports timeout option
           sends url encoded parameters
+          supports open_timeout option
+          parses the reason phrase
+          retrieves the response body
           represents empty body response as blank string
-          handles headers with multiple values
-          sends request body
           retrieves the response headers
+          handles proxy failures
+          handles headers with multiple values
+          sends user agent
           handles connection error
-      #head
+          handles requests with proxy
+          sends request body
+          sends url encoded nested parameters
+      #patch
         behaves like a request method
-          handles headers with multiple values
+          represents empty body response as blank string
           sends request body
-          sends url encoded parameters
+          parses the reason phrase
+          handles connection error
+          sends files
+          supports open_timeout option
           sends user agent
-          represents empty body response as blank string
           retrieves the response headers
+          sends url encoded parameters
           handles proxy failures
           handles requests with proxy
           sends url encoded nested parameters
           supports timeout option
-          supports open_timeout option
-          handles connection error
+          retrieves the response body
+          handles headers with multiple values
       #put
         behaves like a request method
-          sends user agent
-          supports timeout option
-          handles headers with multiple values
-          represents empty body response as blank string
-          supports open_timeout option
           sends files
-          handles connection error
-          retrieves the response body
           sends url encoded parameters
-          handles requests with proxy
+          represents empty body response as blank string
           sends url encoded nested parameters
-          sends request body
+          parses the reason phrase
           handles proxy failures
+          sends user agent
           retrieves the response headers
-      #get
-        behaves like a request method
-          supports timeout option
           supports open_timeout option
-          handles requests with proxy
           sends request body
-          handles headers with multiple values
-          sends url encoded parameters
-          represents empty body response as blank string
-          retrieves the response headers
-          sends url encoded nested parameters
-          retrieves the response body
-          sends user agent
           handles connection error
-          handles proxy failures
-      #post
+          retrieves the response body
+          handles headers with multiple values
+          handles requests with proxy
+          supports timeout option
+      #get
         behaves like a request method
-          handles proxy failures
-          sends files
-          sends user agent
-          supports open_timeout option
-          retrieves the response headers
-          represents empty body response as blank string
-          sends request body
           supports timeout option
+          retrieves the response headers
           sends url encoded parameters
+          sends request body
+          represents empty body response as blank string
+          parses the reason phrase
+          sends user agent
           handles requests with proxy
           retrieves the response body
           handles connection error
+          handles proxy failures
+          supports open_timeout option
           sends url encoded nested parameters
           handles headers with multiple values
 
 Faraday::Connection
+  #token_auth
+    is expected to eq "Token nonce=\"abc\", token=\"abcdef\""
   proxy support
-    uses env https_proxy
-    allows when url in no proxy list
-    accepts uri
-    uses processes no_proxy before https_proxy
-    accepts string
     accepts hash with string uri
-    uses processes no_proxy before http_proxy
+    accepts http env
+    allows when prefixed url is not in no proxy list
+    uses processes no_proxy before https_proxy
+    uses env http_proxy
+    allows when subdomain url is in no proxy list
     fetches no proxy from nil env
+    uses processes no_proxy before http_proxy
     allows when url is not in no proxy list but ip address is
-    ignores env proxy if set that way
+    gives priority to manually set proxy
+    accepts string
     accepts http env with auth
+    ignores env proxy if set that way
     allows when url not in no proxy list
-    allows when subdomain url is in no proxy list
+    allows when url in no proxy list
+    uses env https_proxy
     accepts env without scheme
+    does not accept uppercase env
     accepts hash
-    uses env http_proxy
-    fetches no proxy from blank env
-    accepts http env
     test proxy requires uri
-    allows when ip address is not in no proxy list but url is
     allows in multi element no proxy list
-    does not accept uppercase env
-    allows when prefixed url is not in no proxy list
-    gives priority to manually set proxy
+    accepts uri
+    fetches no proxy from blank env
+    allows when ip address is not in no proxy list but url is
     performing a request
       dynamically check no proxy
       dynamically checks proxy
-  #dup
-    is expected to eq #<URI::HTTP http://sushi.com/foo>
-    is expected to eq "text/plain"
-    is expected to eq "1"
-    after manual changes
-      is expected to eq 1
-      is expected to be falsey
-      is expected to be nil
-      is expected to eq 1
-      is expected to eq 5
-      is expected to be falsey
+  #build_request
+    is expected to be falsey
+    is expected to eq ["Authorization"]
+    is expected to be truthy
+    is expected to be empty
+  #build_url
+    uses params
+    merges params
   request params
     with simple url
+      test_overrides_request_params
       test_overrides_request_params_block
       test_overrides_request_params_block_url
-      test_overrides_request_params
+    with default params encoder
+      supports array params in url
+      supports array params in params
     with flat params encoder
       supports array params in params
       with array param in url
@@ -4484,38 +4013,37 @@
       allows to override all params
       allows to set params_encoder for single request
       merges connection and request params
-    with default params encoder
-      supports array params in url
-      supports array params in params
   #build_exclusive_url
-    does not use connection params
-    does not add ending slash given empty url
     does not add ending slash given nil url
+    does not add ending slash given empty url
     overrides connection port for absolute url
     allows to provide params argument
     handles uri instances
-    with complete url
-      is expected to eq "http"
-      is expected to eq "sushi.com"
-      is expected to eq "a=1"
-      is expected to eq "/sake.html"
-      is expected to eq 80
+    does not use connection params
+    with url_prefixed connection
+      used default base with ending slash
+      parses url and changes scheme
+      joins url to base with ending slash
+      overrides base
     with relative path
-      is expected to eq "/sake.html"
-      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 url_prefixed connection
-      joins url to base with ending slash
-      overrides base
-      used default base with ending slash
-      parses url and changes scheme
+      is expected to eq "/fish/sake.html"
+    with complete url
+      is expected to eq "sushi.com"
+      is expected to eq "http"
+      is expected to eq "/sake.html"
+      is expected to eq "a=1"
+      is expected to eq 80
     with absolute path
-      example at ./spec/faraday/connection_spec.rb:198
+      example at ./spec/faraday/connection_spec.rb:195
       is expected to eq "/sake.html"
       is expected to eq "/sake.html"
       is expected to eq "/sake.html"
+  #close
+    can close underlying app
   #respond_to?
     is expected to be truthy
     is expected to be truthy
@@ -4524,149 +4052,660 @@
       is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
     adding basic auth info to url
       is expected to eq "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=="
+  #dup
+    is expected to eq "1"
+    is expected to eq "text/plain"
+    is expected to eq #<URI::HTTP http://sushi.com/foo>
+    after manual changes
+      is expected to eq 1
+      is expected to eq 5
+      is expected to be falsey
+      is expected to be falsey
+      is expected to eq 1
+      is expected to be nil
+  default_connection_options
+    assigning a default value
+      behaves like default connection options
+        default connection options persist with an instance overriding
+        works with instance connection options
+        works with implicit url
+        works with option url
+        default connection uses default connection options
+    assigning a hash
+      behaves like default connection options
+        works with instance connection options
+        default connection options persist with an instance overriding
+        works with option url
+        default connection uses default connection options
+        works with implicit url
+  #to_env
+    without braketizing repeated params in query
+    escapes per spec
+    bracketizes nested params in query
+    bracketizes repeated params in query
+    parses url params into query
   .new
-    with custom params
-      is expected to eq {"a"=>1}
-    with custom headers
-      is expected to eq "Faraday"
-    with custom builder
-      is expected to eq #<Faraday::RackBuilder:0xb48e1ee4 @adapter=Faraday::Adapter::NetHttp, @handlers=[Faraday::Request::UrlEncoded]>
+    with empty block
+      is expected to eq 0
     with implicit url param
       behaves like initializer with url
+        with complex url
+          is expected to eq 815
+          is expected to eq "/fish"
+          is expected to eq {"a"=>"1"}
         with simple url
+          is expected to eq "http"
           is expected to eq "/"
           is expected to eq "sushi.com"
-          is expected to eq 80
           is expected to eq {}
-          is expected to eq "http"
-        with complex url
-          is expected to eq {"a"=>"1"}
-          is expected to eq 815
-          is expected to eq "/fish"
-    with empty block
-      is expected to eq 0
-    with ssl false
-      is expected to be falsey
-    with custom params and params in url
-      is expected to eq {"a"=>3, "b"=>"2"}
+          is expected to eq 80
     with block
       is expected to eq "/omnom"
       is expected to eq 0
+    with custom params and params in url
+      is expected to eq {"a"=>3, "b"=>"2"}
+    with custom builder
+      is expected to eq #<Faraday::RackBuilder:0xf4edb3b4 @adapter=Faraday::Adapter::NetHttp, @handlers=[Faraday::Request::UrlEncoded]>
+    with custom params
+      is expected to eq {"a"=>1}
+    with ssl false
+      is expected to be falsey
+    with custom headers
+      is expected to eq "Faraday"
     with explicit 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 "sushi.com"
           is expected to eq "/"
           is expected to eq {}
+          is expected to eq "sushi.com"
           is expected to eq "http"
-        with complex url
-          is expected to eq "/fish"
-          is expected to eq 815
-          is expected to eq {"a"=>"1"}
-  #to_env
-    escapes per spec
-    bracketizes repeated params in query
-    parses url params into query
-    bracketizes nested params in query
-    without braketizing repeated params in query
-  #token_auth
-    is expected to eq "Token nonce=\"abc\", token=\"abcdef\""
-  #build_request
-    is expected to be empty
-    is expected to be truthy
-    is expected to be falsey
-    is expected to eq ["Authorization"]
+          is expected to eq 80
+
+Faraday::Response::RaiseError
+  raises Faraday::ServerError for 500 responses
+  raises Faraday::UnprocessableEntityError for 422 responses
+  raises Faraday::ResourceNotFound for 404 responses
+  raises Faraday::ProxyAuthError for 407 responses
+  raises no exception for 200 responses
+  raises Faraday::BadRequestError for 400 responses
+  raises Faraday::ConflictError for 409 responses
+  raises Faraday::NilStatusError for nil status in response
+  raises Faraday::UnauthorizedError for 401 responses
+  raises Faraday::ForbiddenError for 403 responses
+  raises Faraday::ClientError for other 4xx responses
+  request info
+    returns the request info in the exception
+
+Faraday::Adapter
+  #request_timeout
+    gets :read timeout
+    gets :open timeout
+    attempts unknown timeout type
+    gets :write timeout
+
+Faraday::Adapter::EMHttp
+  allows to provide adapter specific configs
+  behaves like an adapter
+    with SSL disabled
+      #trace
+        behaves like a request method
+          handles proxy failures
+          sends request body
+          binds local socket
+          sends url encoded nested parameters
+          supports open_timeout option
+          sends url encoded parameters
+          handles connection error
+          retrieves the response headers
+          handles requests with proxy
+          supports timeout option
+          handles headers with multiple values
+          retrieves the response body
+          sends user agent
+          parses the reason phrase
+          represents empty body response as blank string
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #delete
+        behaves like a request method
+          sends url encoded parameters
+          handles requests with proxy
+          binds local socket
+          sends url encoded nested parameters
+          supports timeout option
+          retrieves the response headers
+          handles connection error
+          parses the reason phrase
+          sends request body
+          retrieves the response body
+          supports open_timeout option
+          handles proxy failures
+          represents empty body response as blank string
+          handles headers with multiple values
+          sends user agent
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #post
+        behaves like a request method
+          parses the reason phrase
+          handles requests with proxy
+          retrieves the response headers
+          sends url encoded nested parameters
+          binds local socket
+          handles headers with multiple values
+          supports open_timeout option
+          retrieves the response body
+          supports timeout option
+          sends url encoded parameters
+          represents empty body response as blank string
+          sends user agent
+          sends request body
+          handles proxy failures
+          sends files
+          handles connection error
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #patch
+        behaves like a request method
+          supports timeout option
+          sends url encoded parameters
+          represents empty body response as blank string
+          sends request body
+          binds local socket
+          retrieves the response headers
+          sends user agent
+          retrieves the response body
+          sends url encoded nested parameters
+          handles headers with multiple values
+          handles requests with proxy
+          handles connection error
+          parses the reason phrase
+          handles proxy failures
+          sends files
+          supports open_timeout option
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #options
+        behaves like a request method
+          supports open_timeout option
+          sends request body
+          handles headers with multiple values
+          supports timeout option
+          parses the reason phrase
+          represents empty body response as blank string
+          sends url encoded parameters
+          handles requests with proxy
+          handles proxy failures
+          retrieves the response headers
+          binds local socket
+          retrieves the response body
+          sends user agent
+          sends url encoded nested parameters
+          handles connection error
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #head
+        behaves like a request method
+          represents empty body response as blank string
+          handles requests with proxy
+          handles proxy failures
+          sends request body
+          retrieves the response headers
+          supports open_timeout option
+          sends user agent
+          sends url encoded nested parameters
+          binds local socket
+          parses the reason phrase
+          handles headers with multiple values
+          handles connection error
+          sends url encoded parameters
+          supports timeout option
+          with parallel setup
+            handles parallel requests status
+      #put
+        behaves like a request method
+          handles requests with proxy
+          handles proxy failures
+          retrieves the response body
+          sends url encoded parameters
+          sends files
+          supports open_timeout option
+          represents empty body response as blank string
+          parses the reason phrase
+          handles headers with multiple values
+          retrieves the response headers
+          sends request body
+          binds local socket
+          sends user agent
+          supports timeout option
+          handles connection error
+          sends url encoded nested parameters
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #get
+        behaves like a request method
+          handles proxy failures
+          handles headers with multiple values
+          binds local socket
+          handles connection error
+          supports open_timeout option
+          sends url encoded parameters
+          parses the reason phrase
+          supports timeout option
+          sends url encoded nested parameters
+          retrieves the response body
+          handles requests with proxy
+          retrieves the response headers
+          sends request body
+          represents empty body response as blank string
+          sends user agent
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+    with SSL enabled
+      #options
+        behaves like a request method
+          binds local socket
+          supports open_timeout option
+          parses the reason phrase
+          handles headers with multiple values
+          sends user agent
+          sends url encoded parameters
+          supports timeout option
+          retrieves the response headers
+          sends request body
+          handles connection error
+          handles requests with proxy
+          sends url encoded nested parameters
+          handles proxy failures
+          retrieves the response body
+          represents empty body response as blank string
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #head
+        behaves like a request method
+          sends url encoded nested parameters
+          supports open_timeout option
+          binds local socket
+          sends request body
+          handles headers with multiple values
+          sends url encoded parameters
+          handles proxy failures
+          parses the reason phrase
+          represents empty body response as blank string
+          supports timeout option
+          sends user agent
+          handles connection error
+          handles requests with proxy
+          retrieves the response headers
+          with parallel setup
+            handles parallel requests status
+      #patch
+        behaves like a request method
+          handles proxy failures
+          handles headers with multiple values
+          sends request body
+          sends files
+          parses the reason phrase
+          supports open_timeout option
+          represents empty body response as blank string
+          supports timeout option
+          retrieves the response body
+          sends url encoded nested parameters
+          handles connection error
+          retrieves the response headers
+          binds local socket
+          handles requests with proxy
+          sends user agent
+          sends url encoded parameters
+          with parallel setup
+            handles parallel requests status
+            handles parallel requests body
+      #post
+        behaves like a request method
+          handles requests with proxy
+          sends url encoded parameters
+          retrieves the response headers
+          handles connection error
+          sends request body
+          handles headers with multiple values
+          supports timeout option
+          represents empty body response as blank string
+          parses the reason phrase
+          binds local socket
+          retrieves the response body
+          sends files
+          handles proxy failures
+          sends url encoded nested parameters
+          sends user agent
+          supports open_timeout option
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #put
+        behaves like a request method
+          supports timeout option
+          sends user agent
+          handles headers with multiple values
+          handles proxy failures
+          handles connection error
+          represents empty body response as blank string
+          parses the reason phrase
+          retrieves the response body
+          handles requests with proxy
+          sends request body
+          binds local socket
+          sends url encoded parameters
+          sends files
+          supports open_timeout option
+          retrieves the response headers
+          sends url encoded nested parameters
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #trace
+        behaves like a request method
+          handles proxy failures
+          sends request body
+          supports timeout option
+          represents empty body response as blank string
+          sends user agent
+          handles requests with proxy
+          binds local socket
+          supports open_timeout option
+          handles headers with multiple values
+          handles connection error
+          parses the reason phrase
+          sends url encoded parameters
+          retrieves the response body
+          retrieves the response headers
+          sends url encoded nested parameters
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #delete
+        behaves like a request method
+          handles connection error
+          handles headers with multiple values
+          handles proxy failures
+          handles requests with proxy
+          sends url encoded parameters
+          sends request body
+          parses the reason phrase
+          supports timeout option
+          retrieves the response headers
+          supports open_timeout option
+          represents empty body response as blank string
+          retrieves the response body
+          sends url encoded nested parameters
+          sends user agent
+          binds local socket
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+      #get
+        behaves like a request method
+          handles headers with multiple values
+          retrieves the response headers
+          supports timeout option
+          sends url encoded parameters
+          handles requests with proxy
+          represents empty body response as blank string
+          handles proxy failures
+          retrieves the response body
+          sends url encoded nested parameters
+          sends request body
+          parses the reason phrase
+          handles connection error
+          supports open_timeout option
+          binds local socket
+          sends user agent
+          with parallel setup
+            handles parallel requests body
+            handles parallel requests status
+  Options
+    configures timeout and open_timeout
+    configures timeout
+    configures all timeout settings
+
+Faraday::Response::Middleware
+  with a custom ResponseMiddleware but empty response
+    doesn't call the middleware for 304 responses
+    raises exception for 200 responses
+    doesn't call the middleware for 204 responses
+  with a custom ResponseMiddleware
+    parses the response
+  with a custom ResponseMiddleware and private parse
+    parses the response
+
+Faraday::ClientError
+  .initialize
+    with response hash
+      is expected to eq "the server responded with status 400"
+      is expected to eq {:status=>400}
+      is expected to be nil
+      is expected to eq "#<Faraday::ClientError response={:status=>400}>"
+    with anything else #to_s
+      is expected to be nil
+      is expected to eq "#<Faraday::ClientError #<Faraday::ClientError: [\"error1\", \"error2\"]>>"
+      is expected to eq "[\"error1\", \"error2\"]"
+      is expected to be nil
+    with string
+      is expected to eq "custom message"
+      is expected to be nil
+      is expected to eq "#<Faraday::ClientError #<Faraday::ClientError: custom message>>"
+      is expected to be nil
+    with exception only
+      is expected to eq "test"
+      is expected to be nil
+      is expected to eq #<RuntimeError: test>
+      is expected to eq nil
+      is expected to eq "#<Faraday::ClientError wrapped=#<RuntimeError: test>>"
+
+Faraday::Middleware
   #close
-    can close underlying app
-  #build_url
-    merges params
-    uses params
-  default_connection_options
-    assigning a default value
-      behaves like default connection options
-        works with implicit url
-        works with instance connection options
-        default connection options persist with an instance overriding
-        default connection uses default connection options
-        works with option url
-    assigning a hash
-      behaves like default connection options
-        default connection uses default connection options
-        works with option url
-        default connection options persist with an instance overriding
-        works with instance connection options
-        works with implicit url
+    with app that doesn't support #close
+      should issue warning
+    with app that supports #close
+      should issue warning
 
-Faraday::CompositeReadIO
-  with mix of empty and non-empty parts
-    allows to read in chunks
-  with 2 parts
-    is expected to eq 8
-    allows to read in chunks
-    allows to rewind while reading in chunks
-    is expected to eq "abcd1234"
-  with utf8 multibyte part
-    allows to read in chunks
-    is expected to eq "\x86\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB"
-  with empty parts
-    is expected to eq ""
-    is expected to be nil
-    is expected to eq 0
-  with empty composite_io
-    is expected to eq 0
-    is expected to eq ""
-    is expected to be nil
+Faraday::Adapter::Test
+  can be called several times
+    is expected to eq "hello"
+  with simple path sets body
+    is expected to eq "hello"
+  with simple path sets headers
+    is expected to eq "text/html"
+  with http headers
+    without header
+      is expected to eq "b"
+    with header
+      is expected to eq "a"
+  with get params
+    is expected to eq "a"
+  can handle regular expression path
+    is expected to eq "show"
+  can handle regular expression path with captured result
+    is expected to eq "show specified"
+  with simple path sets status
+    is expected to eq 200
+  can handle single parameter block
+    is expected to eq "get"
+  different outcomes for the same request
+    the second request
+      is expected to eq "world"
+    the first request
+      is expected to eq "hello"
+  params parsing
+    with nested encoder
+      is expected to eq "a"
+    with flat encoder
+      is expected to eq "a"
+    with default encoder
+      is expected to eq "a"
+  raising an error if no stub was found
+    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
+    for specified host
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
+  yielding env to stubs
+    is expected to eq "a"
+  with host points to the right stub
+    is expected to eq "domain: hello"
+  ignoring unspecified get params
+    with single param
+      is expected to eq "a"
+    with multiple params
+      is expected to eq "a"
+    without params
+      is expected to raise Faraday::Adapter::Test::Stubs::NotFound
 
 Faraday::Request
   supports marshal serialization
-  when HTTP method is post
-    is expected to eq :post
+  when setting the url on setup with a URI
+    is expected to eq #<URI::Generic foo.json>
+    is expected to eq "http://sushi.com/api/foo.json?a=1"
+    is expected to eq {"a"=>"1"}
+  when setting a header on setup with []= syntax
+    is expected to eq "Faraday"
+    is expected to eq "1.0"
+    is expected to eq "Faraday"
+  when setting the url on setup with a path including params
+    is expected to eq "foo.json"
+    is expected to eq {"a"=>"1", "b"=>"2"}
+    is expected to eq "http://sushi.com/api/foo.json?a=1&b=2"
   with global request options set
     is expected to eq 5
     is expected to eq 3
     is expected to eq 3
     is expected to eq 5
     and per-request options set
-      is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"}
       is expected to eq 5
       is expected to eq 10
-      is expected to eq {:bar=>"bar", :foo=>"foo"}
-      is expected to eq "boo"
       is expected to eq 10
+      is expected to eq {:consumer_key=>"anonymous", :consumer_secret=>"xyz"}
+      is expected to eq "boo"
       is expected to eq 5
-  when setting the url on setup with a path including params
-    is expected to eq "http://sushi.com/api/foo.json?a=1&b=2"
-    is expected to eq {"a"=>"1", "b"=>"2"}
+      is expected to eq {:bar=>"bar", :foo=>"foo"}
+  when setting the url on setup with a string path and params
+    is expected to eq {"a"=>1}
     is expected to eq "foo.json"
-  when setting the body on setup
-    is expected to eq "hi"
-    is expected to eq "hi"
+    is expected to eq "http://sushi.com/api/foo.json?a=1"
   deprecate method for HTTP method
     is expected to output /WARNING: `Faraday::Request#method` is deprecated; use `#http_method` instead. It will be removed in ...r after version 2.0.\n`Faraday::Request#method` called from .+\/spec\/faraday\/request_spec.rb:\d+./ to stderr
 WARNING: `Faraday::Request#method` is deprecated; use `#http_method` instead. It will be removed in or after version 2.0.
 `Faraday::Request#method` called from /build/ruby-faraday-1.1.0/spec/faraday/request_spec.rb:31:in `block (3 levels) in <top (required)>'
     is expected to eq :post
-  when setting the url on setup with a URI
-    is expected to eq "http://sushi.com/api/foo.json?a=1"
-    is expected to eq #<URI::Generic foo.json>
-    is expected to eq {"a"=>"1"}
-  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://sushi.com/api/foo.json?a=1"
-  when setting a header on setup with []= syntax
-    is expected to eq "Faraday"
-    is expected to eq "1.0"
-    is expected to eq "Faraday"
+  when setting the body on setup
+    is expected to eq "hi"
+    is expected to eq "hi"
+  when HTTP method is post
+    is expected to eq :post
   when nothing particular is configured
-    is expected to be falsey
     is expected to eq :get
+    is expected to be falsey
+
+Faraday::Response
+  is expected to be falsey
+  is expected to be truthy
+  is expected to eq "text/plain"
+  is expected to eq "text/plain"
+  is expected to raise RuntimeError
+  is expected to eq "yikes"
+  is expected to eq 404
+  #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 be a kind of Hash
+    is expected to eq {"Content-Type"=>"text/plain"}
+  marshal serialization support
+    is expected to eq 404
+    is expected to eq {"Content-Type"=>"text/plain"}
+    is expected to eq "yikes"
+    is expected to be nil
+  #on_complete
+    can access response body in on_complete callback
+    parse body on finish
+    can access response body in on_complete callback
+
+Faraday::Env
+  ignores false when fetching
+  allows to access symbol non members
+  retains custom members
+  allows to access string non members
+  allows to access members
+  #body
+    when response is finished
+      returns the response body
+      allows to access response_body
+      allows to access request_body
+    when response is not finished yet
+      returns the request body
+
+Faraday::NestedParamsEncoder
+  encodes boolean values
+  encodes unsorted when asked
+  decodes nested subkeys dont have to be in brackets
+  decodes nested ignores invalid array
+  encodes empty array value
+  decodes nested arrays rack compat
+  encodes empty string array value
+  encodes boolean values in array
+  decodes nested ignores malformed keys
+  decodes arrays
+  encodes nil array value
+  decodes nested final value overrides any type
+  encodes rack compat
+  decodes hashes
+  decodes nested array mixed types
+  decodes nested ignores repeated array notation
+  behaves like a params encoder
+    raises type error for empty string
+    encodes nil
+    escapes safe buffer
+  when expecting hash but getting array
+    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 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
+  when expecting nested hash but getting non nested
+    behaves like a wrong decoding
+      is expected to raise TypeError
+
+Faraday::ProxyOptions
+  allows hash access
+  #from
+    works with nil
+    works with no auth
+    works with string
 
-Finished in 4 minutes 30.5 seconds (files took 17.29 seconds to load)
+Finished in 4 minutes 45.1 seconds (files took 16.65 seconds to load)
 2543 examples, 0 failures
 
-Randomized with seed 19011
+Randomized with seed 52423
 
 Coverage report generated for RSpec to /build/ruby-faraday-1.1.0/coverage. 907 / 1052 LOC (86.22%) covered.
 [Coveralls] Outside the CI environment, not sending data.
@@ -4702,12 +4741,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: not including original source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/11437/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/11437/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/24343 and its subdirectories
-I: Current time: Sun May 14 00:55:27 -12 2023
-I: pbuilder-time-stamp: 1684068927
+I: removing directory /srv/workspace/pbuilder/11437 and its subdirectories
+I: Current time: Mon May 15 03:10:14 +14 2023
+I: pbuilder-time-stamp: 1684069814