The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
CONTRIBUTING 1050
CONTRIBUTING.mkdn 087
Changes 06
MANIFEST 6868
META.json 810
META.yml 57
Makefile.PL 34
README 2121
corpus/auth-01.txt 018
corpus/auth-02.txt 018
corpus/auth-03.txt 036
corpus/auth-04.txt 018
corpus/auth-05.txt 020
corpus/cookies-01.txt 034
corpus/cookies-02.txt 052
corpus/cookies-03.txt 087
corpus/cookies-04.txt 037
corpus/cookies-05.txt 035
corpus/cookies-06.txt 051
corpus/cookies-07.txt 034
corpus/delete-01.txt 015
corpus/form-01.txt 023
corpus/form-02.txt 021
corpus/form-03.txt 021
corpus/form-04.txt 021
corpus/form-05.txt 021
corpus/get-01.txt 017
corpus/get-02.txt 022
corpus/get-03.txt 013
corpus/get-04.txt 017
corpus/get-05.txt 021
corpus/get-06.txt 019
corpus/get-07.txt 019
corpus/get-08.txt 021
corpus/get-09.txt 016
corpus/get-10.txt 021
corpus/get-11.txt 022
corpus/get-12.txt 017
corpus/get-13.txt 021
corpus/get-14.txt 022
corpus/get-15.txt 017
corpus/get-16.txt 019
corpus/get-17.txt 019
corpus/get-18.txt 036
corpus/get-19.txt 022
corpus/get-20.txt 021
corpus/get-21.txt 023
corpus/head-01.txt 016
corpus/keepalive-01.txt 09
corpus/keepalive-02.txt 010
corpus/keepalive-03.txt 011
corpus/keepalive-04.txt 010
corpus/keepalive-05.txt 011
corpus/mirror-01.txt 018
corpus/mirror-02.txt 014
corpus/mirror-03.txt 017
corpus/mirror-04.txt 013
corpus/mirror-05.txt 020
corpus/post-01.txt 024
corpus/proxy-auth-01.txt 021
corpus/put-01.txt 022
corpus/put-02.txt 024
corpus/put-03.txt 025
corpus/put-04.txt 019
corpus/put-05.txt 027
corpus/redirect-01.txt 035
corpus/redirect-02.txt 052
corpus/redirect-03.txt 052
corpus/redirect-04.txt 052
corpus/redirect-05.txt 050
corpus/redirect-06.txt 035
corpus/redirect-07.txt 035
corpus/redirect-08.txt 021
corpus/redirect-09.txt 037
cpanfile 13
dist.ini 11
lib/HTTP/Tiny.pm 3533
t/00-report-prereqs.dd 35
t/100_get.t 11
t/101_head.t 11
t/102_put.t 11
t/103_delete.t 11
t/104_post.t 11
t/110_mirror.t 11
t/130_redirect.t 11
t/150_post_form.t 11
t/160_cookies.t 11
t/161_basic_auth.t 11
t/162_proxy_auth.t 11
t/170_keepalive.t 11
t/cases/auth-01.txt 180
t/cases/auth-02.txt 180
t/cases/auth-03.txt 360
t/cases/auth-04.txt 180
t/cases/auth-05.txt 200
t/cases/cookies-01.txt 340
t/cases/cookies-02.txt 520
t/cases/cookies-03.txt 870
t/cases/cookies-04.txt 370
t/cases/cookies-05.txt 350
t/cases/cookies-06.txt 510
t/cases/cookies-07.txt 340
t/cases/delete-01.txt 150
t/cases/form-01.txt 230
t/cases/form-02.txt 210
t/cases/form-03.txt 210
t/cases/form-04.txt 210
t/cases/form-05.txt 210
t/cases/get-01.txt 170
t/cases/get-02.txt 220
t/cases/get-03.txt 130
t/cases/get-04.txt 170
t/cases/get-05.txt 210
t/cases/get-06.txt 190
t/cases/get-07.txt 190
t/cases/get-08.txt 210
t/cases/get-09.txt 160
t/cases/get-10.txt 210
t/cases/get-11.txt 220
t/cases/get-12.txt 170
t/cases/get-13.txt 210
t/cases/get-14.txt 220
t/cases/get-15.txt 170
t/cases/get-16.txt 190
t/cases/get-17.txt 190
t/cases/get-18.txt 360
t/cases/get-19.txt 220
t/cases/get-20.txt 210
t/cases/get-21.txt 230
t/cases/head-01.txt 160
t/cases/keepalive-01.txt 90
t/cases/keepalive-02.txt 100
t/cases/keepalive-03.txt 110
t/cases/keepalive-04.txt 100
t/cases/keepalive-05.txt 110
t/cases/mirror-01.txt 180
t/cases/mirror-02.txt 140
t/cases/mirror-03.txt 170
t/cases/mirror-04.txt 130
t/cases/mirror-05.txt 200
t/cases/post-01.txt 240
t/cases/proxy-auth-01.txt 210
t/cases/put-01.txt 220
t/cases/put-02.txt 240
t/cases/put-03.txt 250
t/cases/put-04.txt 190
t/cases/put-05.txt 270
t/cases/redirect-01.txt 350
t/cases/redirect-02.txt 520
t/cases/redirect-03.txt 520
t/cases/redirect-04.txt 520
t/cases/redirect-05.txt 500
t/cases/redirect-06.txt 350
t/cases/redirect-07.txt 350
t/cases/redirect-08.txt 210
t/cases/redirect-09.txt 370
xt/author/00-compile.t 45
xt/author/pod-spell.t 44
158 files changed (This is a version diff) 19371933
@@ -1,105 +0,0 @@
-## HOW TO CONTRIBUTE
-
-Thank you for considering contributing to this distribution.  This file
-contains instructions that will help you work with the source code.
-
-The distribution is managed with Dist::Zilla.  This means than many of the
-usual files you might expect are not in the repository, but are generated at
-release time (e.g. Makefile.PL).
-
-Generally, **you do not need Dist::Zilla to contribute patches**.  You do need
-Dist::Zilla to create a tarball and/or install from the repository.  See below
-for guidance.
-
-### Acceptable contributions
-
-HTTP::Tiny is considered nearly feature-complete.  The only features likely to
-be added are those that improve compliance with RFC 2616.  If you have ideas
-for other features, please look at
-[HTTP::Tiny::UA](http://p3rl.org/HTTP::Tiny::UA/) and consider adding your
-feature there.
-
-Bug fixes and performance improvements that do not bloat the code will be
-considered for inclusion.
-
-### Getting dependencies
-
-See the included `cpanfile` file for a list of dependencies.  If you have
-App::cpanminus 1.6 or later installed, you can use `cpanm` to satisfy
-dependencies like this:
-
-    $ cpanm --installdeps .
-
-Otherwise, you can install Module::CPANfile 1.0002 or later and then satisfy
-dependencies with the regular `cpan` client and `cpanfile-dump`:
-
-    $ cpan `cpanfile-dump`
-
-### Running tests
-
-You can run tests directly using the `prove` tool:
-
-    $ prove -l
-    $ prove -lv t/some_test_file.t
-
-For most of my distributions, `prove` is entirely sufficient for you to test any
-patches you have. I use `prove` for 99% of my testing during development.
-
-### Code style and tidying
-
-Please try to match any existing coding style.
-
-### Patching documentation
-
-Much of the documentation Pod is generated at release time.
-
-If you would like to submit a documentation edit, please limit yourself to the
-documentation you see.
-
-If you see typos or documentation issues in the generated docs, please
-email or open a bug ticket instead of patching.
-
-### Installing from the repository
-
-If you want to install directly from the repository, you need to have
-Dist::Zilla installed (see below).  If this is a burden to you, I welcome
-patches against a CPAN tarball instead of the repository.
-
-### Installing and using Dist::Zilla
-
-Dist::Zilla is a very powerful authoring tool, optimized for maintaining a
-large number of distributions with a high degree of automation, but it has a
-large dependency chain, a bit of a learning curve and requires a number of
-author-specific plugins.
-
-To install it from CPAN, I recommend one of the following approaches for
-the quickest installation:
-
-    # using CPAN.pm, but bypassing non-functional pod tests
-    $ cpan TAP::Harness::Restricted
-    $ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla
-
-    # using cpanm, bypassing *all* tests
-    $ cpanm -n Dist::Zilla
-
-In either case, it's probably going to take about 10 minutes.  Go for a walk,
-go get a cup of your favorite beverage, take a bathroom break, or whatever.
-When you get back, Dist::Zilla should be ready for you.
-
-Then you need to install any plugins specific to this distribution:
-
-    $ cpan `dzil authordeps`
-    $ dzil authordeps | cpanm
-
-Once installed, here are some dzil commands you might try:
-
-    $ dzil build
-    $ dzil test
-    $ dzil xtest
-
-To install from the repository, use:
-
-    $ dzil install
-
-You can learn more about Dist::Zilla at http://dzil.org/
-
@@ -0,0 +1,87 @@
+## HOW TO CONTRIBUTE
+
+Thank you for considering contributing to this distribution.  This file
+contains instructions that will help you work with the source code.
+
+The distribution is managed with Dist::Zilla.  This means than many of the
+usual files you might expect are not in the repository, but are generated at
+release time, as is much of the documentation.  Some generated files are
+kept in the repository as a convenience (e.g. Makefile.PL or cpanfile).
+
+Generally, **you do not need Dist::Zilla to contribute patches**.  You do need
+Dist::Zilla to create a tarball.  See below for guidance.
+
+### Getting dependencies
+
+If you have App::cpanminus 1.6 or later installed, you can use `cpanm` to
+satisfy dependencies like this:
+
+    $ cpanm --installdeps .
+
+Otherwise, look for either a `Makefile.PL` or `cpanfile` file for
+a list of dependencies to satisfy.
+
+### Running tests
+
+You can run tests directly using the `prove` tool:
+
+    $ prove -l
+    $ prove -lv t/some_test_file.t
+
+For most of my distributions, `prove` is entirely sufficient for you to test any
+patches you have. I use `prove` for 99% of my testing during development.
+
+### Code style and tidying
+
+Please try to match any existing coding style.  If there is a `.perltidyrc`
+file, please install Perl::Tidy and use perltidy before submitting patches.
+
+If there is a `tidyall.ini` file, you can also install Code::TidyAll and run
+`tidyall` on a file or `tidyall -a` to tidy all files.
+
+### Patching documentation
+
+Much of the documentation Pod is generated at release time.  Some is
+generated boilerplate; other documentation is built from pseudo-POD
+directives in the source like C<=method> or C<=func>.
+
+If you would like to submit a documentation edit, please limit yourself to
+the documentation you see.
+
+If you see typos or documentation issues in the generated docs, please
+email or open a bug ticket instead of patching.
+
+### Installing and using Dist::Zilla
+
+Dist::Zilla is a very powerful authoring tool, optimized for maintaining a
+large number of distributions with a high degree of automation, but it has a
+large dependency chain, a bit of a learning curve and requires a number of
+author-specific plugins.
+
+To install it from CPAN, I recommend one of the following approaches for
+the quickest installation:
+
+    # using CPAN.pm, but bypassing non-functional pod tests
+    $ cpan TAP::Harness::Restricted
+    $ PERL_MM_USE_DEFAULT=1 HARNESS_CLASS=TAP::Harness::Restricted cpan Dist::Zilla
+
+    # using cpanm, bypassing *all* tests
+    $ cpanm -n Dist::Zilla
+
+In either case, it's probably going to take about 10 minutes.  Go for a walk,
+go get a cup of your favorite beverage, take a bathroom break, or whatever.
+When you get back, Dist::Zilla should be ready for you.
+
+Then you need to install any plugins specific to this distribution:
+
+    $ cpan `dzil authordeps`
+    $ dzil authordeps | cpanm
+
+Once installed, here are some dzil commands you might try:
+
+    $ dzil build
+    $ dzil test
+    $ dzil xtest
+
+You can learn more about Dist::Zilla at http://dzil.org/
+
@@ -1,5 +1,11 @@
 Release notes for HTTP-Tiny
 
+0.051     2014-11-17 22:58:44-05:00 America/New_York
+
+    [FIXED]
+
+    - Checks for threads without loading threads.pm
+
 0.050     2014-09-23 15:30:18-04:00 America/New_York
 
     [FIXED]
@@ -1,5 +1,5 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.020.
-CONTRIBUTING
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.025.
+CONTRIBUTING.mkdn
 Changes
 LICENSE
 MANIFEST
@@ -7,6 +7,72 @@ META.json
 META.yml
 Makefile.PL
 README
+corpus/auth-01.txt
+corpus/auth-02.txt
+corpus/auth-03.txt
+corpus/auth-04.txt
+corpus/auth-05.txt
+corpus/cookies-01.txt
+corpus/cookies-02.txt
+corpus/cookies-03.txt
+corpus/cookies-04.txt
+corpus/cookies-05.txt
+corpus/cookies-06.txt
+corpus/cookies-07.txt
+corpus/delete-01.txt
+corpus/form-01.txt
+corpus/form-02.txt
+corpus/form-03.txt
+corpus/form-04.txt
+corpus/form-05.txt
+corpus/get-01.txt
+corpus/get-02.txt
+corpus/get-03.txt
+corpus/get-04.txt
+corpus/get-05.txt
+corpus/get-06.txt
+corpus/get-07.txt
+corpus/get-08.txt
+corpus/get-09.txt
+corpus/get-10.txt
+corpus/get-11.txt
+corpus/get-12.txt
+corpus/get-13.txt
+corpus/get-14.txt
+corpus/get-15.txt
+corpus/get-16.txt
+corpus/get-17.txt
+corpus/get-18.txt
+corpus/get-19.txt
+corpus/get-20.txt
+corpus/get-21.txt
+corpus/head-01.txt
+corpus/keepalive-01.txt
+corpus/keepalive-02.txt
+corpus/keepalive-03.txt
+corpus/keepalive-04.txt
+corpus/keepalive-05.txt
+corpus/mirror-01.txt
+corpus/mirror-02.txt
+corpus/mirror-03.txt
+corpus/mirror-04.txt
+corpus/mirror-05.txt
+corpus/post-01.txt
+corpus/proxy-auth-01.txt
+corpus/put-01.txt
+corpus/put-02.txt
+corpus/put-03.txt
+corpus/put-04.txt
+corpus/put-05.txt
+corpus/redirect-01.txt
+corpus/redirect-02.txt
+corpus/redirect-03.txt
+corpus/redirect-04.txt
+corpus/redirect-05.txt
+corpus/redirect-06.txt
+corpus/redirect-07.txt
+corpus/redirect-08.txt
+corpus/redirect-09.txt
 cpanfile
 dist.ini
 eg/get.pl
@@ -47,72 +113,6 @@ t/210_live_ssl.t
 t/BrokenCookieJar.pm
 t/SimpleCookieJar.pm
 t/Util.pm
-t/cases/auth-01.txt
-t/cases/auth-02.txt
-t/cases/auth-03.txt
-t/cases/auth-04.txt
-t/cases/auth-05.txt
-t/cases/cookies-01.txt
-t/cases/cookies-02.txt
-t/cases/cookies-03.txt
-t/cases/cookies-04.txt
-t/cases/cookies-05.txt
-t/cases/cookies-06.txt
-t/cases/cookies-07.txt
-t/cases/delete-01.txt
-t/cases/form-01.txt
-t/cases/form-02.txt
-t/cases/form-03.txt
-t/cases/form-04.txt
-t/cases/form-05.txt
-t/cases/get-01.txt
-t/cases/get-02.txt
-t/cases/get-03.txt
-t/cases/get-04.txt
-t/cases/get-05.txt
-t/cases/get-06.txt
-t/cases/get-07.txt
-t/cases/get-08.txt
-t/cases/get-09.txt
-t/cases/get-10.txt
-t/cases/get-11.txt
-t/cases/get-12.txt
-t/cases/get-13.txt
-t/cases/get-14.txt
-t/cases/get-15.txt
-t/cases/get-16.txt
-t/cases/get-17.txt
-t/cases/get-18.txt
-t/cases/get-19.txt
-t/cases/get-20.txt
-t/cases/get-21.txt
-t/cases/head-01.txt
-t/cases/keepalive-01.txt
-t/cases/keepalive-02.txt
-t/cases/keepalive-03.txt
-t/cases/keepalive-04.txt
-t/cases/keepalive-05.txt
-t/cases/mirror-01.txt
-t/cases/mirror-02.txt
-t/cases/mirror-03.txt
-t/cases/mirror-04.txt
-t/cases/mirror-05.txt
-t/cases/post-01.txt
-t/cases/proxy-auth-01.txt
-t/cases/put-01.txt
-t/cases/put-02.txt
-t/cases/put-03.txt
-t/cases/put-04.txt
-t/cases/put-05.txt
-t/cases/redirect-01.txt
-t/cases/redirect-02.txt
-t/cases/redirect-03.txt
-t/cases/redirect-04.txt
-t/cases/redirect-05.txt
-t/cases/redirect-06.txt
-t/cases/redirect-07.txt
-t/cases/redirect-08.txt
-t/cases/redirect-09.txt
 xt/author/00-compile.t
 xt/author/critic.t
 xt/author/pod-spell.t
@@ -5,7 +5,7 @@
       "David Golden <dagolden@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.140640",
+   "generated_by" : "Dist::Zilla version 5.025, CPAN::Meta::Converter version 2.142690",
    "license" : [
       "perl_5"
    ],
@@ -28,7 +28,8 @@
    "prereqs" : {
       "configure" : {
          "requires" : {
-            "ExtUtils::MakeMaker" : "6.17"
+            "ExtUtils::MakeMaker" : "6.17",
+            "perl" : "5.006"
          }
       },
       "develop" : {
@@ -36,7 +37,7 @@
             "Dist::Zilla" : "5",
             "Dist::Zilla::Plugin::Prereqs" : "0",
             "Dist::Zilla::Plugin::RemovePrereqs" : "0",
-            "Dist::Zilla::PluginBundle::DAGOLDEN" : "0.068",
+            "Dist::Zilla::PluginBundle::DAGOLDEN" : "0.072",
             "File::Spec" : "0",
             "File::Temp" : "0",
             "IO::Handle" : "0",
@@ -88,14 +89,15 @@
             "IO::Socket::INET" : "0",
             "IPC::Cmd" : "0",
             "Test::More" : "0.96",
-            "open" : "0"
+            "open" : "0",
+            "perl" : "5.006"
          }
       }
    },
    "provides" : {
       "HTTP::Tiny" : {
          "file" : "lib/HTTP/Tiny.pm",
-         "version" : "0.050"
+         "version" : "0.051"
       }
    },
    "release_status" : "stable",
@@ -110,14 +112,14 @@
          "web" : "https://github.com/chansen/p5-http-tiny"
       }
    },
-   "version" : "0.050",
+   "version" : "0.051",
    "x_authority" : "cpan:DAGOLDEN",
    "x_contributors" : [
       "Alan Gardner <gardner@pythian.com>",
       "Alessandro Ghedini <al3xbio@gmail.com>",
       "Brad Gilbert <bgills@cpan.org>",
       "Chris Nehren <apeiron@cpan.org>",
-      "Chris Weyl <rsrchboy@cpan.org>",
+      "Chris Weyl <cweyl@alumni.drew.edu>",
       "Claes Jakobsson <claes@surfar.nu>",
       "Clinton Gormley <clint@traveljury.com>",
       "Craig Berry <cberry@cpan.org>",
@@ -132,8 +134,8 @@
       "Mike Doherty <doherty@cpan.org>",
       "Petr Písař <ppisar@redhat.com>",
       "Serguei Trouchelle <stro@cpan.org>",
-      "Syohei YOSHIDA <syohex@gmail.com>",
       "Sören Kornetzki <soeren.kornetzki@delti.com>",
+      "Syohei YOSHIDA <syohex@gmail.com>",
       "Tom Hukins <tom@eborcom.com>",
       "Tony Cook <tony@develop-help.com>"
    ]
@@ -16,10 +16,12 @@ build_requires:
   IPC::Cmd: '0'
   Test::More: '0.96'
   open: '0'
+  perl: '5.006'
 configure_requires:
   ExtUtils::MakeMaker: '6.17'
+  perl: '5.006'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.020, CPAN::Meta::Converter version 2.140640'
+generated_by: 'Dist::Zilla version 5.025, CPAN::Meta::Converter version 2.142690'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -36,7 +38,7 @@ no_index:
 provides:
   HTTP::Tiny:
     file: lib/HTTP/Tiny.pm
-    version: '0.050'
+    version: '0.051'
 recommends:
   HTTP::CookieJar: '0.001'
   IO::Socket::IP: '0.25'
@@ -57,14 +59,14 @@ resources:
   bugtracker: https://github.com/chansen/p5-http-tiny/issues
   homepage: https://github.com/chansen/p5-http-tiny
   repository: https://github.com/chansen/p5-http-tiny.git
-version: '0.050'
+version: '0.051'
 x_authority: cpan:DAGOLDEN
 x_contributors:
   - 'Alan Gardner <gardner@pythian.com>'
   - 'Alessandro Ghedini <al3xbio@gmail.com>'
   - 'Brad Gilbert <bgills@cpan.org>'
   - 'Chris Nehren <apeiron@cpan.org>'
-  - 'Chris Weyl <rsrchboy@cpan.org>'
+  - 'Chris Weyl <cweyl@alumni.drew.edu>'
   - 'Claes Jakobsson <claes@surfar.nu>'
   - 'Clinton Gormley <clint@traveljury.com>'
   - 'Craig Berry <cberry@cpan.org>'
@@ -79,7 +81,7 @@ x_contributors:
   - 'Mike Doherty <doherty@cpan.org>'
   - 'Petr Písař <ppisar@redhat.com>'
   - 'Serguei Trouchelle <stro@cpan.org>'
-  - 'Syohei YOSHIDA <syohex@gmail.com>'
   - 'Sören Kornetzki <soeren.kornetzki@delti.com>'
+  - 'Syohei YOSHIDA <syohex@gmail.com>'
   - 'Tom Hukins <tom@eborcom.com>'
   - 'Tony Cook <tony@develop-help.com>'
@@ -1,5 +1,5 @@
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.020.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.025.
 use strict;
 use warnings;
 
@@ -18,6 +18,7 @@ my %WriteMakefileArgs = (
   "DISTNAME" => "HTTP-Tiny",
   "EXE_FILES" => [],
   "LICENSE" => "perl",
+  "MIN_PERL_VERSION" => "5.006",
   "NAME" => "HTTP::Tiny",
   "PREREQ_PM" => {
     "Carp" => 0,
@@ -43,7 +44,7 @@ my %WriteMakefileArgs = (
     "Test::More" => "0.96",
     "open" => 0
   },
-  "VERSION" => "0.050",
+  "VERSION" => "0.051",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -54,7 +55,7 @@ my %FallbackPrereqs = (
   "Carp" => 0,
   "Data::Dumper" => 0,
   "Exporter" => 0,
-  "ExtUtils::MakeMaker" => 0,
+  "ExtUtils::MakeMaker" => "6.17",
   "Fcntl" => 0,
   "File::Basename" => 0,
   "File::Spec" => 0,
@@ -2,7 +2,7 @@ NAME
     HTTP::Tiny - A small, simple, correct HTTP/1.1 client
 
 VERSION
-    version 0.050
+    version 0.051
 
 SYNOPSIS
         use HTTP::Tiny;
@@ -437,6 +437,24 @@ AUTHORS
 CONTRIBUTORS
     *   Alan Gardner <gardner@pythian.com>
 
+    *   Alessandro Ghedini <al3xbio@gmail.com>
+
+    *   Brad Gilbert <bgills@cpan.org>
+
+    *   Chris Nehren <apeiron@cpan.org>
+
+    *   Chris Weyl <cweyl@alumni.drew.edu>
+
+    *   Claes Jakobsson <claes@surfar.nu>
+
+    *   Clinton Gormley <clint@traveljury.com>
+
+    *   Craig Berry <cberry@cpan.org>
+
+    *   David Mitchell <davem@iabyn.com>
+
+    *   Dean Pearce <pearce@pythian.com>
+
     *   Edward Zborowski <ed@rubensteintech.com>
 
     *   James Raspass <jraspass@gmail.com>
@@ -455,32 +473,14 @@ CONTRIBUTORS
 
     *   Serguei Trouchelle <stro@cpan.org>
 
-    *   Syohei YOSHIDA <syohex@gmail.com>
-
-    *   Alessandro Ghedini <al3xbio@gmail.com>
-
     *   Sören Kornetzki <soeren.kornetzki@delti.com>
 
+    *   Syohei YOSHIDA <syohex@gmail.com>
+
     *   Tom Hukins <tom@eborcom.com>
 
     *   Tony Cook <tony@develop-help.com>
 
-    *   Brad Gilbert <bgills@cpan.org>
-
-    *   Chris Nehren <apeiron@cpan.org>
-
-    *   Chris Weyl <rsrchboy@cpan.org>
-
-    *   Claes Jakobsson <claes@surfar.nu>
-
-    *   Clinton Gormley <clint@traveljury.com>
-
-    *   Craig Berry <cberry@cpan.org>
-
-    *   David Mitchell <davem@iabyn.com>
-
-    *   Dean Pearce <pearce@pythian.com>
-
 COPYRIGHT AND LICENSE
     This software is copyright (c) 2014 by Christian Hansen.
 
@@ -0,0 +1,18 @@
+url
+  http://foo:bar@example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Authorization: Basic Zm9vOmJhcg==
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,18 @@
+url
+  http://Aladdin:open sesame@example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,36 @@
+url
+  http://foo:bar@example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Authorization: Basic Zm9vOmJhcg==
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,18 @@
+url
+  http://rjbs%40cpan.org:password@example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Authorization: Basic cmpic0BjcGFuLm9yZzpwYXNzd29yZA==
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,20 @@
+url
+  http://foo:bar@example.com/index.html
+headers
+  authorization: Whatever
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Authorization: Whatever
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,34 @@
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,52 @@
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue01; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue01
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue02
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,87 @@
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue01; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue01
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index02.html
+----------
+GET /index02.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue03; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue02
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index02.html
+----------
+GET /index02.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue03
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue03; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,37 @@
+url
+  http://example.com/index.html
+headers
+  Cookie: cname=cvalue05; domain=example.com; path=/
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue05
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue06; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname=cvalue06
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue06; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,35 @@
+url
+  http://example.com/index.html
+headers
+  No-Cookie-Jar: 1
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue06; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname=cvalue06; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,51 @@
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname1=cvalue01; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname1=cvalue01
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname2=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname1=cvalue01; cname2=cvalue02
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,34 @@
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Set-Cookie: cname1=cvalue01; domain=example.com; path=/
+Set-Cookie: cname2=cvalue02; domain=example.com; path=/
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Cookie: cname1=cvalue01; cname2=cvalue02
+
+----------
+HTTP/1.1 200 OK
+Date: Sat, 02 Mar 2013 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,15 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+DELETE /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Length: 0
+
@@ -0,0 +1,23 @@
+url
+  http://example.com/new
+headers
+  Content-Type: text/plain
+content
+  key|value|name|John Doe|noise|!@#$%^&*()
+datatype
+  ARRAY
+----------
+POST /new HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 60
+
+key=value&name=John+Doe&noise=%21%40%23%24%25%5E%26%2A%28%29
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new/01.txt
+Content-Length: 0
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/new
+content
+  key|value|name|John Doe|noise|!@#$%^&*()
+datatype
+  HASH
+----------
+POST /new HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 60
+
+key=value&name=John+Doe&noise=%21%40%23%24%25%5E%26%2A%28%29
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new/01.txt
+Content-Length: 0
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/new
+content
+  bar|baz|ack|foo
+datatype
+  HASH
+----------
+POST /new HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 15
+
+ack=foo&bar=baz
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new/01.txt
+Content-Length: 0
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/new
+content
+  utf8|☺
+datatype
+  ARRAY
+----------
+POST /new HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 23
+
+utf8=%C3%A2%C2%98%C2%BA
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new/01.txt
+Content-Length: 0
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/new
+content
+  bar|baz|ack|foo
+datatype
+  ARRAY 
+----------
+POST /new HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 15
+
+bar=baz&ack=foo
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new/01.txt
+Content-Length: 0
+
@@ -0,0 +1,17 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,22 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+headers
+  Accept: */*
+  X-Custom: This is a custom header
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Accept: */*
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+X-Custom: This is a custom header
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,13 @@
+url
+  http://example.com/missing.html
+----------
+GET /missing.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 404 Not Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Length: 0
+
@@ -0,0 +1,17 @@
+url
+  http://example.com:9000/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com:9000
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,21 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Transfer-Encoding: chunked
+
+2C
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+
@@ -0,0 +1,19 @@
+url
+  http://example.com/cb.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+data_cb
+  sub { $main::data .= $_[0] }
+----------
+GET /cb.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,19 @@
+new_args
+  proxy: http://proxy.example.com:8080/
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET http://example.com/index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,21 @@
+new_args
+  max_size: 26
+url
+  http://example.com/index.html
+expected_rc
+  599
+expected_like
+  Size of response body exceeds the maximum allowed of 26
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,16 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,21 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Transfer-Encoding: CHUNKED
+
+2C
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+
@@ -0,0 +1,22 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 1024
+Transfer-Encoding: chunked
+
+2C
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+
@@ -0,0 +1,17 @@
+url
+  http:///index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: localhost
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,21 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Transfer-Encoding: chunked
+
+2C; this_extension=foo
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+
@@ -0,0 +1,22 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+headers
+  X-Foo: one
+  X-Foo: two
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+X-Foo: one
+X-Foo: two
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,17 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/01.01 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,19 @@
+url
+  http://example.com/index.html
+expected_rc
+  599
+expected_like
+  Malformed Status-Line
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/0 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,19 @@
+url
+  http://example.com/index.html
+expected_rc
+  599
+expected_like
+  Unsupported HTTP protocol
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.2 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,36 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_headers
+  transfer-encoding: chunked
+  x-a: Foo
+  x-a: Bar
+  x-a: Baz
+  x-b: Foo
+  x-b: Bar
+  x-b: Baz
+  x-c: Foo
+
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Transfer-Encoding: chunked
+X-A: Foo
+X-B: Foo
+X-B: Bar
+
+2C
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+X-A: Bar
+X-A: Baz
+X-B: Baz
+X-C: Foo
+
@@ -0,0 +1,22 @@
+url
+  http://example.com/chunked.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /chunked.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Transfer-Encoding: wacky
+Transfer-Encoding: chunked
+
+2C
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+0
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/index.html
+headers
+  connection: X-Foo
+  X-Foo: bar
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+X-Foo: bar
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,23 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_rc
+  200
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 100 Continue
+
+HTTP/1.1 110 Arbitrary 1XX status code
+
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,16 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+HEAD /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 44
+
@@ -0,0 +1,9 @@
+No content length
+----------
+0
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+
+0123456789
@@ -0,0 +1,10 @@
+Wrong content length
+----------
+0
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 10
+
+01234567890123456789
@@ -0,0 +1,11 @@
+Connection close
+----------
+0
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 10
+Connection: close
+
+0123456789
@@ -0,0 +1,10 @@
+Not HTTP/1.1
+----------
+0
+----------
+HTTP/1.0 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 10
+
+0123456789
@@ -0,0 +1,11 @@
+Not HTTP/1.1 with keep-alive
+----------
+0
+----------
+HTTP/1.0 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 10
+Connection: keep-alive
+
+0123456789
@@ -0,0 +1,18 @@
+url
+  http://example.com/modified.txt
+----------
+GET /modified.txt HTTP/1.1
+Host: example.com
+Connection: close
+If-Modified-Since: Tue, 01 Feb 1994 00:00:00 GMT
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Last-Modified: Wed, 02 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,14 @@
+url
+  http://example.com/not-modified.txt
+----------
+GET /not-modified.txt HTTP/1.1
+Host: example.com
+Connection: close
+If-Modified-Since: Tue, 01 Feb 1994 00:00:00 GMT
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 304 Not Modified
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Last-Modified: Tue, 01 Feb 1994 00:00:00 GMT
+
@@ -0,0 +1,17 @@
+url
+  http://example.com/new.txt
+----------
+GET /new.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Last-Modified: Tue, 01 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,13 @@
+url
+  http://example.com/missing.txt
+----------
+GET /missing.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 404 Not Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Length: 0
+
@@ -0,0 +1,20 @@
+url
+  http://example.com/modified.txt
+headers
+  if-modified-since: Tue, 01 Feb 1994 12:00:00 GMT
+----------
+GET /modified.txt HTTP/1.1
+Host: example.com
+Connection: close
+If-Modified-Since: Tue, 01 Feb 1994 12:00:00 GMT
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Last-Modified: Wed, 02 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,24 @@
+url
+  http://example.com/index.html
+headers
+  Content-Type: text/plain
+  Content-Length: 42
+content
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+POST /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,21 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+new_args
+  proxy: http://foo:bar@proxy.example.com/
+
+----------
+GET http://example.com/index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Proxy-Authorization: Basic Zm9vOmJhcg==
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -0,0 +1,22 @@
+url
+  http://example.com/new.txt
+headers
+  Content-Type: text/plain
+content
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+PUT /new.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new.txt
+Content-Length: 0
+
@@ -0,0 +1,24 @@
+url
+  http://example.com/callback.txt
+headers
+  Content-Type: text/plain
+  Content-Length: 42
+content_cb
+  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
+  sub { shift @content }
+----------
+PUT /callback.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/callback.txt
+Content-Length: 0
+
@@ -0,0 +1,25 @@
+url
+  http://example.com/chunked.txt
+headers
+  Content-Type: text/plain
+content_cb
+  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
+  sub { shift @content }
+----------
+PUT /chunked.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: text/plain
+Transfer-Encoding: chunked
+
+2A
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+0
+
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/chunked.txt
+Content-Length: 0
+
@@ -0,0 +1,19 @@
+url
+  http://example.com/new.txt
+content
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+PUT /new.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: application/octet-stream
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/new.txt
+Content-Length: 0
+
@@ -0,0 +1,27 @@
+url
+  http://example.com/chunked.txt
+headers
+  Content-Type: text/plain
+content_cb
+  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
+  sub { shift @content }
+trailer_cb
+  sub { return { 'x-foo' => 'bar' } }
+----------
+PUT /chunked.txt HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+Content-Type: text/plain
+Transfer-Encoding: chunked
+
+2A
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+0
+X-Foo: bar
+----------
+HTTP/1.1 201 Created
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Location: http://example.com/chunked.txt
+Content-Length: 0
+
@@ -0,0 +1,35 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,52 @@
+new_args
+  max_redirect: 0
+url
+  http://example.com/index.html
+expected
+  <a href="http://example.com/index2.html">redirect</a>
+expected_url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index3.html
+
+<a href="http://example.com/index3.html">redirect</a>
+
+----------
+GET /index3.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,52 @@
+new_args
+  max_redirect: 1
+url
+  http://example.com/index.html
+expected
+  <a href="http://example.com/index3.html">redirect</a>
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index3.html
+
+<a href="http://example.com/index3.html">redirect</a>
+
+----------
+GET /index3.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,52 @@
+new_args
+  max_redirect: 2
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index3.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index3.html
+
+<a href="http://example.com/index3.html">redirect</a>
+
+----------
+GET /index3.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,50 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index3.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 302 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 301 Found
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: /index3.html
+
+<a href="http://example.com/index3.html">redirect</a>
+
+----------
+GET /index3.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,35 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 303 See Other
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,35 @@
+url
+  http://example.com/index.html
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 307 Temporary Redirect
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -0,0 +1,21 @@
+url
+  http://example.com/index.html
+expected
+  <a href="http://example.com/index2.html">redirect</a>
+expected_url
+  http://example.com/index.html
+----------
+GET /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 305 Use Proxy
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
@@ -0,0 +1,37 @@
+url
+  http://example.com/index.html
+method
+  POST
+expected
+  abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
+----------
+POST /index.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 303 See Other
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/html
+Content-Length: 53
+Location: http://example.com/index2.html
+
+<a href="http://example.com/index2.html">redirect</a>
+
+----------
+GET /index2.html HTTP/1.1
+Host: example.com
+Connection: close
+User-Agent: HTTP-Tiny/VERSION
+
+----------
+HTTP/1.1 200 OK
+Date: Thu, 03 Feb 1994 00:00:00 GMT
+Content-Type: text/plain
+Content-Length: 42
+
+abcdefghijklmnopqrstuvwxyz1234567890abcdef
+
@@ -27,6 +27,7 @@ on 'test' => sub {
   requires "IPC::Cmd" => "0";
   requires "Test::More" => "0.96";
   requires "open" => "0";
+  requires "perl" => "5.006";
 };
 
 on 'test' => sub {
@@ -35,13 +36,14 @@ on 'test' => sub {
 
 on 'configure' => sub {
   requires "ExtUtils::MakeMaker" => "6.17";
+  requires "perl" => "5.006";
 };
 
 on 'develop' => sub {
   requires "Dist::Zilla" => "5";
   requires "Dist::Zilla::Plugin::Prereqs" => "0";
   requires "Dist::Zilla::Plugin::RemovePrereqs" => "0";
-  requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.068";
+  requires "Dist::Zilla::PluginBundle::DAGOLDEN" => "0.072";
   requires "File::Spec" => "0";
   requires "File::Temp" => "0";
   requires "IO::Handle" => "0";
@@ -5,7 +5,7 @@ license           = Perl_5
 copyright_holder  = Christian Hansen
 
 [@DAGOLDEN]
-:version = 0.068
+:version = 0.072
 stopwords = CA
 stopwords = UA
 stopwords = proxying
@@ -3,7 +3,8 @@ package HTTP::Tiny;
 use strict;
 use warnings;
 # ABSTRACT: A small, simple, correct HTTP/1.1 client
-our $VERSION = '0.050'; # VERSION
+
+our $VERSION = '0.051';
 
 use Carp ();
 
@@ -471,7 +472,7 @@ my %DefaultPort = (
 sub _agent {
     my $class = ref($_[0]) || $_[0];
     (my $default_agent = $class) =~ s{::}{-}g;
-    return $default_agent . "/" . ($class->VERSION || 0);
+    return $default_agent . "/" . $class->VERSION;
 }
 
 sub _request {
@@ -862,15 +863,6 @@ use warnings;
 use Errno      qw[EINTR EPIPE];
 use IO::Socket qw[SOCK_STREAM];
 
-# for thread safety, we need to know thread id or else fake it;
-# requires "threads.pm" to hide it from the minimum version detector
-if ( eval { require "threads.pm"; 1 } ) { ## no critic
-    *_get_tid = sub { threads->tid };
-}
-else {
-    *_get_tid = sub () { 0 };
-}
-
 # PERL_HTTP_TINY_IPV4_ONLY is a private environment variable to force old
 # behavior if someone is unable to boostrap CPAN from a new perl install; it is
 # not intended for general, per-client use and may be removed in the future
@@ -1414,6 +1406,12 @@ sub _find_CA_file {
       . qq/Try installing Mozilla::CA from CPAN\n/;
 }
 
+# for thread safety, we need to know thread id if threads are loaded
+sub _get_tid {
+    no warnings 'reserved'; # for 'threads'
+    return threads->can("tid") ? threads->tid : 0;
+}
+
 sub _ssl_args {
     my ($self, $host) = @_;
 
@@ -1458,7 +1456,7 @@ HTTP::Tiny - A small, simple, correct HTTP/1.1 client
 
 =head1 VERSION
 
-version 0.050
+version 0.051
 
 =head1 SYNOPSIS
 
@@ -2023,7 +2021,7 @@ David Golden <dagolden@cpan.org>
 
 =head1 CONTRIBUTORS
 
-=for stopwords Alan Gardner Edward Zborowski James Raspass Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Petr Písař Serguei Trouchelle Syohei YOSHIDA Alessandro Ghedini Sören Kornetzki Tom Hukins Tony Cook Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Craig Berry David Mitchell Dean Pearce
+=for stopwords Alan Gardner Alessandro Ghedini Brad Gilbert Chris Nehren Weyl Claes Jakobsson Clinton Gormley Craig Berry David Mitchell Dean Pearce Edward Zborowski James Raspass Jess Robinson Lukas Eklund Martin J. Evans Martin-Louis Bright Mike Doherty Petr Písař Serguei Trouchelle Sören Kornetzki Syohei YOSHIDA Tom Hukins Tony Cook
 
 =over 4
 
@@ -2033,91 +2031,91 @@ Alan Gardner <gardner@pythian.com>
 
 =item *
 
-Edward Zborowski <ed@rubensteintech.com>
+Alessandro Ghedini <al3xbio@gmail.com>
 
 =item *
 
-James Raspass <jraspass@gmail.com>
+Brad Gilbert <bgills@cpan.org>
 
 =item *
 
-Jess Robinson <castaway@desert-island.me.uk>
+Chris Nehren <apeiron@cpan.org>
 
 =item *
 
-Lukas Eklund <leklund@gmail.com>
+Chris Weyl <cweyl@alumni.drew.edu>
 
 =item *
 
-Martin J. Evans <mjegh@ntlworld.com>
+Claes Jakobsson <claes@surfar.nu>
 
 =item *
 
-Martin-Louis Bright <mlbright@gmail.com>
+Clinton Gormley <clint@traveljury.com>
 
 =item *
 
-Mike Doherty <doherty@cpan.org>
+Craig Berry <cberry@cpan.org>
 
 =item *
 
-Petr Písař <ppisar@redhat.com>
+David Mitchell <davem@iabyn.com>
 
 =item *
 
-Serguei Trouchelle <stro@cpan.org>
+Dean Pearce <pearce@pythian.com>
 
 =item *
 
-Syohei YOSHIDA <syohex@gmail.com>
+Edward Zborowski <ed@rubensteintech.com>
 
 =item *
 
-Alessandro Ghedini <al3xbio@gmail.com>
+James Raspass <jraspass@gmail.com>
 
 =item *
 
-Sören Kornetzki <soeren.kornetzki@delti.com>
+Jess Robinson <castaway@desert-island.me.uk>
 
 =item *
 
-Tom Hukins <tom@eborcom.com>
+Lukas Eklund <leklund@gmail.com>
 
 =item *
 
-Tony Cook <tony@develop-help.com>
+Martin J. Evans <mjegh@ntlworld.com>
 
 =item *
 
-Brad Gilbert <bgills@cpan.org>
+Martin-Louis Bright <mlbright@gmail.com>
 
 =item *
 
-Chris Nehren <apeiron@cpan.org>
+Mike Doherty <doherty@cpan.org>
 
 =item *
 
-Chris Weyl <rsrchboy@cpan.org>
+Petr Písař <ppisar@redhat.com>
 
 =item *
 
-Claes Jakobsson <claes@surfar.nu>
+Serguei Trouchelle <stro@cpan.org>
 
 =item *
 
-Clinton Gormley <clint@traveljury.com>
+Sören Kornetzki <soeren.kornetzki@delti.com>
 
 =item *
 
-Craig Berry <cberry@cpan.org>
+Syohei YOSHIDA <syohex@gmail.com>
 
 =item *
 
-David Mitchell <davem@iabyn.com>
+Tom Hukins <tom@eborcom.com>
 
 =item *
 
-Dean Pearce <pearce@pythian.com>
+Tony Cook <tony@develop-help.com>
 
 =back
 
@@ -1,7 +1,8 @@
 do { my $x = {
        'configure' => {
                         'requires' => {
-                                        'ExtUtils::MakeMaker' => '6.17'
+                                        'ExtUtils::MakeMaker' => '6.17',
+                                        'perl' => '5.006'
                                       }
                       },
        'develop' => {
@@ -9,7 +10,7 @@ do { my $x = {
                                       'Dist::Zilla' => '5',
                                       'Dist::Zilla::Plugin::Prereqs' => '0',
                                       'Dist::Zilla::Plugin::RemovePrereqs' => '0',
-                                      'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.068',
+                                      'Dist::Zilla::PluginBundle::DAGOLDEN' => '0.072',
                                       'File::Spec' => '0',
                                       'File::Temp' => '0',
                                       'IO::Handle' => '0',
@@ -61,7 +62,8 @@ do { my $x = {
                                    'IO::Socket::INET' => '0',
                                    'IPC::Cmd' => '0',
                                    'Test::More' => '0.96',
-                                   'open' => '0'
+                                   'open' => '0',
+                                   'perl' => '5.006'
                                  }
                  }
      };
@@ -11,7 +11,7 @@ use t::Util qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^get/ ) ) {
+for my $file ( dir_list("corpus", qr/^get/ ) ) {
   my $label = basename($file);
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
@@ -10,7 +10,7 @@ use t::Util    qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^head/ ) ) {
+for my $file ( dir_list("corpus", qr/^head/ ) ) {
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
   # cleanup source data
@@ -10,7 +10,7 @@ use t::Util    qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^put/ ) ) {
+for my $file ( dir_list("corpus", qr/^put/ ) ) {
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
   # cleanup source data
@@ -10,7 +10,7 @@ use t::Util    qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^delete/ ) ) {
+for my $file ( dir_list("corpus", qr/^delete/ ) ) {
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
   # cleanup source data
@@ -10,7 +10,7 @@ use t::Util    qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^post/ ) ) {
+for my $file ( dir_list("corpus", qr/^post/ ) ) {
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
   # cleanup source data
@@ -24,7 +24,7 @@ my %timestamp = (
   'not-modified.txt'  => $known_epoch - 2 * $day,
 );
 
-for my $file ( dir_list("t/cases", qr/^mirror/ ) ) {
+for my $file ( dir_list("corpus", qr/^mirror/ ) ) {
   1 while unlink $tempfile;
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
@@ -12,7 +12,7 @@ use t::Util qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^redirect/ ) ) {
+for my $file ( dir_list("corpus", qr/^redirect/ ) ) {
   my $label = basename($file);
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, @case_pairs) = split /--+\n/, $data;
@@ -11,7 +11,7 @@ use t::Util    qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^form/ ) ) {
+for my $file ( dir_list("corpus", qr/^form/ ) ) {
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, $expect_req, $give_res) = split /--+\n/, $data;
   # cleanup source data
@@ -18,7 +18,7 @@ SKIP: for my $class ( qw/t::SimpleCookieJar HTTP::CookieJar/ ) {
         eval "require $class; 1"
             or plan skip_all => "Needs $class";
 
-        for my $file ( dir_list("t/cases", qr/^cookies/ ) ) {
+        for my $file ( dir_list("corpus", qr/^cookies/ ) ) {
             my $label = basename($file);
             my $data = do { local (@ARGV,$/) = $file; <> };
             my @cases = split /--+\n/, $data;
@@ -12,7 +12,7 @@ use t::Util qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^auth/ ) ) {
+for my $file ( dir_list("corpus", qr/^auth/ ) ) {
   my $label = basename($file);
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, @case_pairs) = split /--+\n/, $data;
@@ -12,7 +12,7 @@ use t::Util qw[tmpfile rewind slurp monkey_patch dir_list parse_case
 use HTTP::Tiny;
 BEGIN { monkey_patch() }
 
-for my $file ( dir_list("t/cases", qr/^proxy-auth/ ) ) {
+for my $file ( dir_list("corpus", qr/^proxy-auth/ ) ) {
   my $label = basename($file);
   my $data = do { local (@ARGV,$/) = $file; <> };
   my ($params, @case_pairs) = split /--+\n/, $data;
@@ -59,7 +59,7 @@ new_ht();
 $h->{handle}->close;
 test_ht( "Socket closed", 0, 'http://foo.com' );
 
-for my $file ( dir_list( "t/cases", qr/^keepalive/ ) ) {
+for my $file ( dir_list( "corpus", qr/^keepalive/ ) ) {
     my $label = basename($file);
     my $data = do { local ( @ARGV, $/ ) = $file; <> };
     my ( $title, $ok, $response ) = map { trim($_) } split /--+/, $data;
@@ -1,18 +0,0 @@
-url
-  http://foo:bar@example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Authorization: Basic Zm9vOmJhcg==
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,18 +0,0 @@
-url
-  http://Aladdin:open sesame@example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,36 +0,0 @@
-url
-  http://foo:bar@example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index2.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Authorization: Basic Zm9vOmJhcg==
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,18 +0,0 @@
-url
-  http://rjbs%40cpan.org:password@example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Authorization: Basic cmpic0BjcGFuLm9yZzpwYXNzd29yZA==
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,20 +0,0 @@
-url
-  http://foo:bar@example.com/index.html
-headers
-  authorization: Whatever
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Authorization: Whatever
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,34 +0,0 @@
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,52 +0,0 @@
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue01; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue01
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue02
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,87 +0,0 @@
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue01; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue01
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index02.html
-----------
-GET /index02.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue03; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue02
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index02.html
-----------
-GET /index02.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue03
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue03; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,37 +0,0 @@
-url
-  http://example.com/index.html
-headers
-  Cookie: cname=cvalue05; domain=example.com; path=/
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue05
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue06; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname=cvalue06
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue06; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,35 +0,0 @@
-url
-  http://example.com/index.html
-headers
-  No-Cookie-Jar: 1
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue06; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname=cvalue06; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,51 +0,0 @@
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname1=cvalue01; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname1=cvalue01
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname2=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname1=cvalue01; cname2=cvalue02
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,34 +0,0 @@
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Set-Cookie: cname1=cvalue01; domain=example.com; path=/
-Set-Cookie: cname2=cvalue02; domain=example.com; path=/
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Cookie: cname1=cvalue01; cname2=cvalue02
-
-----------
-HTTP/1.1 200 OK
-Date: Sat, 02 Mar 2013 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,15 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-DELETE /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Length: 0
-
@@ -1,23 +0,0 @@
-url
-  http://example.com/new
-headers
-  Content-Type: text/plain
-content
-  key|value|name|John Doe|noise|!@#$%^&*()
-datatype
-  ARRAY
-----------
-POST /new HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/x-www-form-urlencoded
-Content-Length: 60
-
-key=value&name=John+Doe&noise=%21%40%23%24%25%5E%26%2A%28%29
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new/01.txt
-Content-Length: 0
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/new
-content
-  key|value|name|John Doe|noise|!@#$%^&*()
-datatype
-  HASH
-----------
-POST /new HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/x-www-form-urlencoded
-Content-Length: 60
-
-key=value&name=John+Doe&noise=%21%40%23%24%25%5E%26%2A%28%29
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new/01.txt
-Content-Length: 0
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/new
-content
-  bar|baz|ack|foo
-datatype
-  HASH
-----------
-POST /new HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/x-www-form-urlencoded
-Content-Length: 15
-
-ack=foo&bar=baz
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new/01.txt
-Content-Length: 0
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/new
-content
-  utf8|☺
-datatype
-  ARRAY
-----------
-POST /new HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/x-www-form-urlencoded
-Content-Length: 23
-
-utf8=%C3%A2%C2%98%C2%BA
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new/01.txt
-Content-Length: 0
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/new
-content
-  bar|baz|ack|foo
-datatype
-  ARRAY 
-----------
-POST /new HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/x-www-form-urlencoded
-Content-Length: 15
-
-bar=baz&ack=foo
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new/01.txt
-Content-Length: 0
-
@@ -1,17 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,22 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-headers
-  Accept: */*
-  X-Custom: This is a custom header
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Accept: */*
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-X-Custom: This is a custom header
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,13 +0,0 @@
-url
-  http://example.com/missing.html
-----------
-GET /missing.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 404 Not Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Length: 0
-
@@ -1,17 +0,0 @@
-url
-  http://example.com:9000/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com:9000
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,21 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Transfer-Encoding: chunked
-
-2C
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-
@@ -1,19 +0,0 @@
-url
-  http://example.com/cb.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-data_cb
-  sub { $main::data .= $_[0] }
-----------
-GET /cb.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,19 +0,0 @@
-new_args
-  proxy: http://proxy.example.com:8080/
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET http://example.com/index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,21 +0,0 @@
-new_args
-  max_size: 26
-url
-  http://example.com/index.html
-expected_rc
-  599
-expected_like
-  Size of response body exceeds the maximum allowed of 26
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,16 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,21 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Transfer-Encoding: CHUNKED
-
-2C
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-
@@ -1,22 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 1024
-Transfer-Encoding: chunked
-
-2C
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-
@@ -1,17 +0,0 @@
-url
-  http:///index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: localhost
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,21 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Transfer-Encoding: chunked
-
-2C; this_extension=foo
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-
@@ -1,22 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-headers
-  X-Foo: one
-  X-Foo: two
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-X-Foo: one
-X-Foo: two
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,17 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/01.01 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,19 +0,0 @@
-url
-  http://example.com/index.html
-expected_rc
-  599
-expected_like
-  Malformed Status-Line
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/0 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,19 +0,0 @@
-url
-  http://example.com/index.html
-expected_rc
-  599
-expected_like
-  Unsupported HTTP protocol
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.2 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,36 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_headers
-  transfer-encoding: chunked
-  x-a: Foo
-  x-a: Bar
-  x-a: Baz
-  x-b: Foo
-  x-b: Bar
-  x-b: Baz
-  x-c: Foo
-
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Transfer-Encoding: chunked
-X-A: Foo
-X-B: Foo
-X-B: Bar
-
-2C
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-X-A: Bar
-X-A: Baz
-X-B: Baz
-X-C: Foo
-
@@ -1,22 +0,0 @@
-url
-  http://example.com/chunked.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /chunked.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Transfer-Encoding: wacky
-Transfer-Encoding: chunked
-
-2C
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-0
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/index.html
-headers
-  connection: X-Foo
-  X-Foo: bar
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-X-Foo: bar
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,23 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_rc
-  200
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 100 Continue
-
-HTTP/1.1 110 Arbitrary 1XX status code
-
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,16 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-HEAD /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 44
-
@@ -1,9 +0,0 @@
-No content length
-----------
-0
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-
-0123456789
@@ -1,10 +0,0 @@
-Wrong content length
-----------
-0
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 10
-
-01234567890123456789
@@ -1,11 +0,0 @@
-Connection close
-----------
-0
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 10
-Connection: close
-
-0123456789
@@ -1,10 +0,0 @@
-Not HTTP/1.1
-----------
-0
-----------
-HTTP/1.0 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 10
-
-0123456789
@@ -1,11 +0,0 @@
-Not HTTP/1.1 with keep-alive
-----------
-0
-----------
-HTTP/1.0 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 10
-Connection: keep-alive
-
-0123456789
@@ -1,18 +0,0 @@
-url
-  http://example.com/modified.txt
-----------
-GET /modified.txt HTTP/1.1
-Host: example.com
-Connection: close
-If-Modified-Since: Tue, 01 Feb 1994 00:00:00 GMT
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Last-Modified: Wed, 02 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,14 +0,0 @@
-url
-  http://example.com/not-modified.txt
-----------
-GET /not-modified.txt HTTP/1.1
-Host: example.com
-Connection: close
-If-Modified-Since: Tue, 01 Feb 1994 00:00:00 GMT
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 304 Not Modified
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Last-Modified: Tue, 01 Feb 1994 00:00:00 GMT
-
@@ -1,17 +0,0 @@
-url
-  http://example.com/new.txt
-----------
-GET /new.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Last-Modified: Tue, 01 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,13 +0,0 @@
-url
-  http://example.com/missing.txt
-----------
-GET /missing.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 404 Not Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Length: 0
-
@@ -1,20 +0,0 @@
-url
-  http://example.com/modified.txt
-headers
-  if-modified-since: Tue, 01 Feb 1994 12:00:00 GMT
-----------
-GET /modified.txt HTTP/1.1
-Host: example.com
-Connection: close
-If-Modified-Since: Tue, 01 Feb 1994 12:00:00 GMT
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Last-Modified: Wed, 02 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,24 +0,0 @@
-url
-  http://example.com/index.html
-headers
-  Content-Type: text/plain
-  Content-Length: 42
-content
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-POST /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,21 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-new_args
-  proxy: http://foo:bar@proxy.example.com/
-
-----------
-GET http://example.com/index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Proxy-Authorization: Basic Zm9vOmJhcg==
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
@@ -1,22 +0,0 @@
-url
-  http://example.com/new.txt
-headers
-  Content-Type: text/plain
-content
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-PUT /new.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new.txt
-Content-Length: 0
-
@@ -1,24 +0,0 @@
-url
-  http://example.com/callback.txt
-headers
-  Content-Type: text/plain
-  Content-Length: 42
-content_cb
-  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
-  sub { shift @content }
-----------
-PUT /callback.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/callback.txt
-Content-Length: 0
-
@@ -1,25 +0,0 @@
-url
-  http://example.com/chunked.txt
-headers
-  Content-Type: text/plain
-content_cb
-  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
-  sub { shift @content }
-----------
-PUT /chunked.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: text/plain
-Transfer-Encoding: chunked
-
-2A
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-0
-
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/chunked.txt
-Content-Length: 0
-
@@ -1,19 +0,0 @@
-url
-  http://example.com/new.txt
-content
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-PUT /new.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: application/octet-stream
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/new.txt
-Content-Length: 0
-
@@ -1,27 +0,0 @@
-url
-  http://example.com/chunked.txt
-headers
-  Content-Type: text/plain
-content_cb
-  my @content = qq{abcdefghijklmnopqrstuvwxyz1234567890abcdef};
-  sub { shift @content }
-trailer_cb
-  sub { return { 'x-foo' => 'bar' } }
-----------
-PUT /chunked.txt HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-Content-Type: text/plain
-Transfer-Encoding: chunked
-
-2A
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-0
-X-Foo: bar
-----------
-HTTP/1.1 201 Created
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Location: http://example.com/chunked.txt
-Content-Length: 0
-
@@ -1,35 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index2.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,52 +0,0 @@
-new_args
-  max_redirect: 0
-url
-  http://example.com/index.html
-expected
-  <a href="http://example.com/index2.html">redirect</a>
-expected_url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index3.html
-
-<a href="http://example.com/index3.html">redirect</a>
-
-----------
-GET /index3.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,52 +0,0 @@
-new_args
-  max_redirect: 1
-url
-  http://example.com/index.html
-expected
-  <a href="http://example.com/index3.html">redirect</a>
-expected_url
-  http://example.com/index2.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index3.html
-
-<a href="http://example.com/index3.html">redirect</a>
-
-----------
-GET /index3.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,52 +0,0 @@
-new_args
-  max_redirect: 2
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index3.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index3.html
-
-<a href="http://example.com/index3.html">redirect</a>
-
-----------
-GET /index3.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,50 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index3.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 302 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 301 Found
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: /index3.html
-
-<a href="http://example.com/index3.html">redirect</a>
-
-----------
-GET /index3.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,35 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index2.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 303 See Other
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,35 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index2.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 307 Temporary Redirect
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -1,21 +0,0 @@
-url
-  http://example.com/index.html
-expected
-  <a href="http://example.com/index2.html">redirect</a>
-expected_url
-  http://example.com/index.html
-----------
-GET /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 305 Use Proxy
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
@@ -1,37 +0,0 @@
-url
-  http://example.com/index.html
-method
-  POST
-expected
-  abcdefghijklmnopqrstuvwxyz1234567890abcdef
-expected_url
-  http://example.com/index2.html
-----------
-POST /index.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 303 See Other
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/html
-Content-Length: 53
-Location: http://example.com/index2.html
-
-<a href="http://example.com/index2.html">redirect</a>
-
-----------
-GET /index2.html HTTP/1.1
-Host: example.com
-Connection: close
-User-Agent: HTTP-Tiny/VERSION
-
-----------
-HTTP/1.1 200 OK
-Date: Thu, 03 Feb 1994 00:00:00 GMT
-Content-Type: text/plain
-Content-Length: 42
-
-abcdefghijklmnopqrstuvwxyz1234567890abcdef
-
@@ -2,11 +2,11 @@ use 5.006;
 use strict;
 use warnings;
 
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.046
-
-use Test::More  tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
 
+use Test::More;
 
+plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
 
 my @module_files = (
     'HTTP/Tiny.pm'
@@ -48,6 +48,7 @@ for my $lib (@module_files)
 
 
 
-is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', explain \@warnings if $ENV{AUTHOR_TESTING};
+is(scalar(@warnings), 0, 'no warnings found')
+    or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
 
 
@@ -32,7 +32,7 @@ Chris
 Nehren
 apeiron
 Weyl
-rsrchboy
+cweyl
 Claes
 Jakobsson
 claes
@@ -73,12 +73,12 @@ ppisar
 Serguei
 Trouchelle
 stro
-Syohei
-YOSHIDA
-syohex
 Sören
 Kornetzki
 soeren
+Syohei
+YOSHIDA
+syohex
 Tom
 Hukins
 tom