Mojo::Message::Response − HTTP response
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;
Mojo::Message::Response is a container for HTTP responses, based on RFC 7230 <https://tools.ietf.org/html/rfc7230> and RFC 7231 <https://tools.ietf.org/html/rfc7231>.
Mojo::Message::Response inherits all events from Mojo::Message.
Mojo::Message::Response inherits all attributes from Mojo::Message and implements the following new ones.
my $code =
$res−>code;
$res = $res−>code(200);
HTTP response status code.
my $size =
$res−>max_message_size;
$res = $res−>max_message_size(1024);
Maximum message size in bytes, 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.
my $msg =
$res−>message;
$res = $res−>message('OK');
HTTP response status message.
Mojo::Message::Response inherits all methods from Mojo::Message and implements the following new ones.
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.
# Names of all
cookies
say $_−>name for @{$res−>cookies};
my $msg =
$res−>default_message;
my $msg = $res−>default_message(418);
Generate default response message for status code, defaults to using "code".
my $bool = $res−>extract_start_line(\$str);
Extract status-line from string.
$res = $res−>fix_headers;
Make sure response has all required headers.
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.
my $bool = $res−>is_client_error;
Check if this response has a "4xx" status "code".
my $bool = $res−>is_empty;
Check if this response has a "1xx", 204 or 304 status "code".
my $bool = $res−>is_error;
Check if this response has a "4xx" or "5xx" status "code".
my $bool = $res−>is_info;
Check if this response has a "1xx" status "code".
my $bool = $res−>is_redirect;
Check if this response has a "3xx" status "code".
my $bool = $res−>is_server_error;
Check if this response has a "5xx" status "code".
my $bool = $res−>is_success;
Check if this response has a "2xx" status "code".
my $size = $req−>start_line_size;
Size of the status-line in bytes. Note that this method finalizes the response.
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.