manpagez: man pages & more
man Mojo::Content::MultiPart(3)
Home | html | info | man
Mojo::Content::MultiPart(3)



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(3), Mojolicious::Guides(3), <https://mojolicious.org>.



perl v5.32.1                      2021-12-08       Mojo::Content::MultiPart(3)

mojolicious 9.260.0 - Generated Tue May 31 13:36:53 CDT 2022
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.