Mojo::Message::Response

作者: JSON_NULL | 来源:发表于2017-09-30 18:44 被阅读3次

    简介

    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是基于RFC 7230和RFC 7231的 HTTP响应的容器。

    事件

    Mojo :: Message :: Response继承Mojo :: Message中的所有事件。

    属性

    code

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

    HTTP响应状态码。

    max_message_size

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

    HTTP响应的消息体最大尺寸(单位为字节)。默认为MOJO_MAX_MESSAGE_SIZE环境变量的值或2147483648(2GiB)。设置为0表示不限制消息体的大小。

    message

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

    HTTP响应的消息体。

    方法

    Mojo::Message::Response从Mojo::Message继承了所有方法,并实现了以下方法。

    cookies

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

    获取或添加响应的Cookie信息。通常返回的是Mojo::Cookie::Response对象。

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

    default_message

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

    返回状态码的默认响应消息,默认使用code属性。

    extract_start_line

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

    用一个字符串设计“响应”的起始行。

    fix_headers

    $res = $res->fix_headers;
    

    确保HTTP响应消息具有所必须的头部信息。

    get_start_line_chunk

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

    从特定位置获取消息的起始行数据块。

    is_client_error

    my $bool = $res->is_client_error;
    

    检查此响应是否具有 4xx 状态码。

    is_empty

    my $bool = $res->is_empty;
    

    检查此响应是否具有 1xx、204 或 304 状态吗。

    is_error

    my $bool = $res->is_error;
    

    检查此响应是否具有 4xx 或 5xx 状态码。

    is_info

    my $bool = $res->is_info;
    

    检查此响应是否具有 1xx 状态码。

    is_redirect

    my $bool = $res->is_redirect;
    

    检查此响应是否具有 3xx 状态码。

    is_server_error

    my $bool = $res->is_server_error;
    

    检查此响应是否具有 5xx 状态码。

    is_success

    my $bool = $res->is_success;
    

    检查此响应是否具有 2xx 状态码。

    start_line_size

    my $size = $req->start_line_size;
    

    状态行的尺寸(以字节为单位)。需要注意的是:此方法的调用会结束请求。

    相关文章

      网友评论

        本文标题:Mojo::Message::Response

        本文链接:https://www.haomeiwen.com/subject/hirnextx.html