Mojo::Content::Single - HTTP content
use Mojo::Content::Single;
my $single = Mojo::Content::Single->new;
$single->parse("Content-Length: 12\x0d\x0a\x0d\x0aHello World!");
say $single->headers->content_length;
the Mojo::Content::Single manpage is a container for HTTP content, based on RFC 7230 and
RFC 7231.
the Mojo::Content::Single manpage inherits all events from the Mojo::Content manpage and can emit the following new ones.
$single->on(upgrade => sub ($single, $multi) {...});
Emitted when content gets upgraded to a the Mojo::Content::MultiPart manpage object.
$single->on(upgrade => sub ($single, $multi) {
return unless $multi->headers->content_type =~ /multipart\/([^;]+)/i;
say "Multipart: $1";
});
the Mojo::Content::Single manpage inherits all attributes from the Mojo::Content manpage and implements the following new ones.
my $asset = $single->asset;
$single = $single->asset(Mojo::Asset::Memory->new);
The actual content, defaults to a the Mojo::Asset::Memory manpage object with auto_upgrade in the Mojo::Asset::Memory manpage enabled.
my $bool = $single->auto_upgrade;
$single = $single->auto_upgrade($bool);
Try to detect multipart content and automatically upgrade to a the Mojo::Content::MultiPart manpage object, defaults to a true
value.
the Mojo::Content::Single manpage inherits all methods from the Mojo::Content manpage and implements the following new ones.
my $bool = $single->body_contains('1234567');
Check if content contains a specific string.
my $size = $single->body_size;
Content size in bytes.
my $clone = $single->clone;
Return a new the Mojo::Content::Single manpage object cloned from this content if possible, otherwise return undef.
my $bytes = $single->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.
my $single = Mojo::Content::Single->new;
my $single = Mojo::Content::Single->new(asset => Mojo::Asset::File->new);
my $single = Mojo::Content::Single->new({asset => Mojo::Asset::File->new});
Construct a new the Mojo::Content::Single manpage object and subscribe to event read in the Mojo::Content manpage with default content
parser.
$single = $single->parse("Content-Length: 12\x0d\x0a\x0d\x0aHello World!");
my $multi = $single->parse("Content-Type: multipart/form-data\x0d\x0a\x0d\x0a");
Parse content chunk and upgrade to the Mojo::Content::MultiPart manpage object if necessary.
Mojolicious, the Mojolicious::Guides manpage, https://mojolicious.org.
|