HTTPヘッダを取得する / Mojolicious
HTTPヘッダを取得するにはMojo::Headersクラスのheaderメソッドを使用します。
my $x_forwarded_host = $headers->header('X-Forwarded-Host');
またMojo::Headersクラスには一般的なヘッダを取得するためのショートカットメソッドがたくさん用意されています。
my $content_type = $headers->content_type; my $accept_language = $headers->accept_language;
以下はMojolicious::Liteのサンプルです。Mojo::Message::RequestオブジェクトをMojolicious::Controllerオブジェクトのreqメソッドによって取得し、Mojo::HeadersオブジェクトをMojo::Message::Requestオブジェクトのheadersメソッドによって取得しています。
# Mojolicious::Lite use Mojolicious::Lite; get '/' => sub { my $self = shift; my $x_forwarded_host = $self->req->headers->header('X-Forwarded-Host'); my $content_type = $self->req->headers->content_type; my $accept_language = $self->req->headers->accept_language; };
以下はMojoliciousのサンプルです。
package MyApp::Diary; use Mojo::Base 'Mojolicious::Controller'; sub entry { my $self = shift; my $x_forwarded_host = $self->req->headers->header('X-Forwarded-Host'); my $content_type = $self->req->headers->content_type; my $accept_language = $self->req->headers->accept_language; }