Mojo::M...Response(3)

πŸ’– NAME πŸ’–

okay so this is Mojo::Message::Response(3), straight outta User Contributed Perl Documentation, and it's literally the HTTP response container. like, the whole vibe is Mojo::Message::Response β€” HTTP response. periodt.

✨ SYNOPSIS ✨

use Mojo::Message::Response;

# Parse
my $res = Mojo::Message::Response->new;
$res->parse("HTTP/1.0 200 OK\x0d\x0a");
$res->parse("Content-Length: 12\x0d\x0a");
$res->parse("Content-Type: text/plain\x0d\x0a\x0d\x0a");
$res->parse('Hello World!');
say $res->code;
say $res->headers->content_type;
say $res->body;

# Build
my $res = Mojo::Message::Response->new;
$res->code(200);
$res->headers->content_type('text/plain');
$res->body('Hello World!');
say $res->to_string;

🌸 DESCRIPTION 🌸

Mojo::Message::Response is a container for HTTP responses, based on RFC 7230 at https://tools.ietf.org/html/rfc7230 and RFC 7231 at https://tools.ietf.org/html/rfc7231. it's giving "responsible little response object" and honestly? iconic. πŸ’…

πŸŽ€ EVENTS πŸŽ€

Mojo::Message::Response inherits all events from Mojo::Message. no extra events here, bestie β€” just the inherited ones. 🫢

πŸ¦‹ ATTRIBUTES πŸ¦‹

Mojo::Message::Response inherits all attributes from Mojo::Message and implements the following new ones. yes, we're adding to the family. 😌

code

my $code = $res->code;
$res     = $res->code(200);

HTTP response status code. that's the number, the moment, the main character of the status-line. πŸ”₯

max_message_size

my $size = $res->max_message_size;
$res     = $res->max_message_size(1024);

Maximum message size in bytes. it defaults to the value of the "MOJO_MAX_MESSAGE_SIZE" environment variable or 2147483648 (2GiB). setting the value to 0 will allow messages of indefinite size. very "no cap, unlimited mode" of it. πŸ‘‘

message

my $msg = $res->message;
$res    = $res->message('OK');

HTTP response status message. the little text bestie next to the code. ✨

πŸ’… METHODS πŸ’…

Mojo::Message::Response inherits all methods from Mojo::Message and implements the following new ones. let's go through every single one, no skipping, we're thorough like that. 🧚

cookies

my $cookies = $res->cookies;
$res        = $res->cookies(Mojo::Cookie::Response->new);
$res        = $res->cookies({name => 'foo', value => 'bar'});

Access response cookies, usually Mojo::Cookie::Response objects. cute.

# Names of all cookies
say $_->name for @{$res->cookies};

like, get those cookie names, slay. πŸ“

default_message

my $msg = $res->default_message;
my $msg = $res->default_message(418);

Generate default response message for status code, defaults to using "code". so it looks at the code and is like "i got you, bestie." πŸ’–

extract_start_line

my $bool = $res->extract_start_line(\$str);

Extract status-line from string. string goes in, status-line comes out. πŸ¦‹

fix_headers

$res = $res->fix_headers;

Make sure response has all required headers. basically a little header check before the response leaves the house. πŸŽ€

get_start_line_chunk

my $bytes = $res->get_start_line_chunk($offset);

Get a chunk of status-line data starting from a specific position. note that this method finalizes the response. yes, finalizes β€” keep that in mind, bestie. πŸ‘€

is_client_error

my $bool = $res->is_client_error;

Check if this response has a "4xx" status "code". client said oops. 😭

is_empty

my $bool = $res->is_empty;

Check if this response has a "1xx", 204 or 304 status "code". empty-ish vibe check. 🫧

is_error

my $bool = $res->is_error;

Check if this response has a "4xx" or "5xx" status "code". error energy detected. πŸ’€

is_info

my $bool = $res->is_info;

Check if this response has a "1xx" status "code". just info, no drama. ⭐

is_redirect

my $bool = $res->is_redirect;

Check if this response has a "3xx" status "code". we're going somewhere else, apparently. 🌈

is_server_error

my $bool = $res->is_server_error;

Check if this response has a "5xx" status "code". server said it's not okay. πŸ™ˆ

is_success

my $bool = $res->is_success;

Check if this response has a "2xx" status "code". we love a successful little moment. ✨

start_line_size

my $size = $req->start_line_size;

Size of the status-line in bytes. note that this method finalizes the response. also yes, the example literally says $req here β€” keep it exactly like that, iykyk. πŸ’…

πŸ”₯ SEE ALSO πŸ”₯


xoxo, your Unix bestie πŸ’œ β€” this page is from perl v5.42.0, dated 2026-07-15, and it's Mojo::M...Response(3). bye bestie, go parse something cute. πŸŽ€

πŸ“¦ where this page comes from