dwww Home | Manual pages | Find package

Mojo::Content::MultiPaUserpContributed Perl DocumMojo::Content::MultiPart(3pm)

NAME
       Mojo::Content::MultiPart - HTTP multipart content

SYNOPSIS
         use Mojo::Content::MultiPart;

         my $multi = Mojo::Content::MultiPart->new;
         $multi->parse('Content-Type: multipart/mixed; boundary=---foobar');
         my $single = $multi->parts->[4];

DESCRIPTION
       Mojo::Content::MultiPart is a container for HTTP multipart content,
       based on RFC 7230 <https://tools.ietf.org/html/rfc7230>, RFC 7231
       <https://tools.ietf.org/html/rfc7231> and RFC 2388
       <https://tools.ietf.org/html/rfc2388>.

EVENTS
       Mojo::Content::MultiPart inherits all events from Mojo::Content and can
       emit the following new ones.

   part
         $multi->on(part => sub ($multi, $single) {...});

       Emitted when a new Mojo::Content::Single part starts.

         $multi->on(part => sub ($multi, $single) {
           return unless $single->headers->content_disposition =~ /name="([^"]+)"/;
           say "Field: $1";
         });

ATTRIBUTES
       Mojo::Content::MultiPart inherits all attributes from Mojo::Content and
       implements the following new ones.

   parts
         my $parts = $multi->parts;
         $multi    = $multi->parts([Mojo::Content::Single->new]);

       Content parts embedded in this multipart content, usually
       Mojo::Content::Single objects.

METHODS
       Mojo::Content::MultiPart inherits all methods from Mojo::Content and
       implements the following new ones.

   body_contains
         my $bool = $multi->body_contains('foobarbaz');

       Check if content parts contain a specific string.

   body_size
         my $size = $multi->body_size;

       Content size in bytes.

   build_boundary
         my $boundary = $multi->build_boundary;

       Generate a suitable boundary for content and add it to "Content-Type"
       header.

   clone
         my $clone = $multi->clone;

       Return a new Mojo::Content::MultiPart object cloned from this content
       if possible, otherwise return "undef".

   get_body_chunk
         my $bytes = $multi->get_body_chunk(0);

       Get a chunk of content starting from a specific position. Note that it
       might not be possible to get the same chunk twice if content was
       generated dynamically.

   is_multipart
         my $bool = $multi->is_multipart;

       True, this is a Mojo::Content::MultiPart object.

   new
         my $multi = Mojo::Content::MultiPart->new;
         my $multi
           = Mojo::Content::MultiPart->new(parts => [Mojo::Content::Single->new]);
         my $multi
           = Mojo::Content::MultiPart->new({parts => [Mojo::Content::Single->new]});

       Construct a new Mojo::Content::MultiPart object and subscribe to event
       "read" in Mojo::Content with default content parser.

SEE ALSO
       Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.

perl v5.36.0                      2022-12-22     Mojo::Content::MultiPart(3pm)

Generated by dwww version 1.15 on Tue Jun 25 09:16:30 CEST 2024.