Mojo::Content(3p)     User Contributed Perl Documentation    Mojo::Content(3p)



NAME
       Mojo::Content - HTTP 1.1 Content Base Class

SYNOPSIS
         use Mojo::Base 'Mojo::Content';

DESCRIPTION
       Mojo::Content is an abstract base class for HTTP 1.1 content as
       described in RFC 2616.

ATTRIBUTES
       Mojo::Content implements the following attributes.

   "auto_relax"
         my $relax = $content->auto_relax;
         $content  = $content->auto_relax(1);

       Try to detect broken web servers and turn on relaxed parsing
       automatically.

   "headers"
         my $headers = $content->headers;
         $content    = $content->headers(Mojo::Headers->new);

       The headers.

   "on_read"
         my $cb   = $content->on_read;
         $content = $content->on_read(sub {...});

       Content parser callback.

         $content = $content->on_read(sub {
           my ($self, $chunk) = @_;
           print $chunk;
         });

   "relaxed"
         my $relaxed = $content->relaxed;
         $content    = $content->relaxed(1);

       Activate relaxed parsing for HTTP 0.9 and broken web servers.

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

   "body_contains"
         my $found = $content->body_contains('foo bar baz');

       Check if content contains a specific string.

   "body_size"
         my $size = $content->body_size;

       Content size in bytes.

   "build_body"
         my $string = $content->build_body;

       Render whole body.

   "build_headers"
         my $string = $content->build_headers;

       Render all headers.

   "generate_body_chunk"
         my $chunk = $content->generate_body_chunk(0);

       Generate dynamic content.

   "get_body_chunk"
         my $chunk = $content->get_body_chunk(0);

       Get a chunk of content starting from a specfic position.

   "get_header_chunk"
         my $chunk = $content->get_header_chunk(13);

       Get a chunk of the headers starting from a specfic position.

   "has_leftovers"
         my $leftovers = $content->has_leftovers;

       Check if there are leftovers.

   "header_size"
         my $size = $content->header_size;

       Size of headers in bytes.

   "is_chunked"
         my $chunked = $content->is_chunked;

       Chunked transfer encoding.

   "is_done"
         my $done = $content->is_done;

       Check if parser is done.

   "is_multipart"
         my $multipart = $content->is_multipart;

       Multipart content.

   "is_parsing_body"
         my $body = $content->is_parsing_body;

       Check if body parsing started yet.

   "leftovers"
         my $bytes = $content->leftovers;

       Leftovers for next HTTP message.

   "parse"
         $content = $content->parse("Content-Length: 12\r\n\r\nHello World!");

       Parse content.

   "parse_body"
         $content = $content->parse_body("Hi!");

       Parse body.

   "parse_body_once"
         $content = $content->parse_body_once("Hi!");

       Parse body once.

   "parse_until_body"
         $content = $content->parse_until_body(
           "Content-Length: 12\r\n\r\nHello World!"
         );

       Parse and stop after headers.

   "progress"
         my $bytes = $content->progress;

       Number of bytes already received from message content.  Note that this
       method is EXPERIMENTAL and might change without warning!

   "write"
         $content->write('Hello!');
         $content->write('Hello!', sub {...});

       Write dynamic content, the optional drain callback will be invoked once
       all data has been written.

   "write_chunk"
         $content->write_chunk('Hello!');
         $content->write_chunk('Hello!', sub {...});

       Write chunked content, the optional drain callback will be invoked once
       all data has been written.

SEE ALSO
       Mojolicious, Mojolicious::Guides, <http://mojolicio.us>.



perl v5.12.2                      2011-03-03                 Mojo::Content(3p)
