Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mojo::Message::Response

Yuki Kimoto edited this page · 7 revisions
Clone this wiki locally

Mojolicious API リファレンス

Mojo::Message::Response

名前

Mojo::Message::Response - HTTPレスポンスのコンテナ

使い方

  use Mojo::Message::Response;

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

  # 構築
  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 7230RFC 7231 に基づいた HTTPのレスポンスのためのコンテナです。

属性

Mojo::Message::ResponseMojo::Message からすべての属性を継承しており、 次の新しい属性を実装しています。

code

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

HTTPレスポンスステータスコード。

message

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

HTTPレスポンスステータスメッセージ。

メソッド

Mojo::Message::ResponseMojo::Messageからすべての メソッドを継承しており、次の新しいメソッドを 実装しています。

cookies

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

レスポンスのクッキーにアクセスします。通常はMojo::Cookie::Responseオブジェクトです。

  # すべてのクッキーの名前
  say $_->name for @{$res->cookies};

default_message

  my $msg = $res->default_message;

コードのためにデフォルトのレスポンスメッセージを生成します。

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_empty

  my $bool = $res->is_empty;

これが、1xx, 204あるいはCK304>レスポンスかどうかチェックします。

is_status_class

  my $bool = $res->is_status_class(200);

レスポンスのステータスクラスをチェックします。

参考

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

(Mojolicious 6.05を反映)

Something went wrong with that request. Please try again.