Skip to content
Support multipart post requests for HTTP::Tiny
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/HTTP/Tiny
t
.gitignore
.travis.yml
Changes
README.mkdn
dist.ini

README.mkdn

Build Status Kwalitee status GitHub issues

NAME

HTTP::Tiny::Multipart - Add post_multipart to HTTP::Tiny

VERSION

version 0.08

SYNOPSIS

  use HTTP::Tiny;
  use HTTP::Tiny::Multipart;

  my $http = HTTP::Tiny->new;

  my $content = "This is a test";

  my $response = $http->post_multipart( 'http://localhost:3000/', { 
      file => {
          filename => 'test.txt',
          content  => $content,
      }
  } );

creates this request

POST / HTTP/1.1
Content-Length: 104
User-Agent: HTTP-Tiny/0.025
Content-Type: multipart/form-data; boundary=go7DX
Connection: close
Host: localhost:3000

--go7DX
Content-Disposition: form-data; name="file"; filename="test.txt"

This is a test
--go7DX--

And

  use HTTP::Tiny;
  use HTTP::Tiny::Multipart;

  my $http = HTTP::Tiny->new;

  my $content = "This is a test";

  my $response = $http->post_multipart( 'http://localhost:3000/', { 
      file => {
          filename => 'test.txt',
          content  => $content,
          content_type  => 'text/plain',
      },
      testfield => 'test'
  } );

creates

POST / HTTP/1.1
Content-Length: 104
User-Agent: HTTP-Tiny/0.025
Content-Type: multipart/form-data; boundary=go7DX
Connection: close
Host: localhost:3000

--go7DX
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

This is a test
--go7DX
Content-Disposition: form-data; name="testfield"

test
--go7DX--

CONTRIBUTORS

  • Stephen Thirlwall
  • Markvy
  • Infinoid
  • Mohammad S Anwar

Development

The distribution is contained in a Git repository, so simply clone the repository

$ git clone http://github.com/reneeb/HTTP-Tiny-Multipart.git

and change into the newly-created directory.

$ cd HTTP-Tiny-Multipart

The project uses Dist::Zilla to build the distribution, hence this will need to be installed before continuing:

$ cpanm Dist::Zilla

To install the required prequisite packages, run the following set of commands:

$ dzil authordeps --missing | cpanm
$ dzil listdeps --author --missing | cpanm

The distribution can be tested like so:

$ dzil test

To run the full set of tests (including author and release-process tests), add the --author and --release options:

$ dzil test --author --release

AUTHOR

Renee Baecker <reneeb@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Renee Baecker.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)
You can’t perform that action at this time.