Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mojolicious::Types

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

Mojolicious API リファレンス

Mojolicious::Types

名前

Mojolicious::Types - MIMEタイプ

使い方

  use Mojolicious::Types;

  my $types = Mojolicious::Types->new;
  $types->type(foo => 'text/foo');
  say $types->type('foo');

説明

Mojolicious::TypesはMIMEタイプを管理します。

  appcache -> text/cache-manifest
  atom     -> application/atom+xml
  bin      -> application/octet-stream
  css      -> text/css
  gif      -> image/gif
  gz       -> application/x-gzip
  htm      -> text/html
  html     -> text/html;charset=UTF-8
  ico      -> image/x-icon
  jpeg     -> image/jpeg
  jpg      -> image/jpeg
  js       -> application/javascript
  json     -> application/json
  mp3      -> audio/mpeg
  mp4      -> video/mp4
  ogg      -> audio/ogg
  ogv      -> video/ogg
  pdf      -> application/pdf
  png      -> image/png
  rss      -> application/rss+xml
  svg      -> image/svg+xml
  txt      -> text/plain;charset=UTF-8
  webm     -> video/webm
  woff     -> application/font-woff
  xml      -> application/xml,text/xml
  zip      -> application/zip

属性

Mojolicious::Typesは次の属性を実装しています。

mapping

  my $map = $types->mapping;
  $types  = $types->mapping({png => 'image/png'});

MIMEタイプのマッピング。

メソッド

Mojolicious::TypesMojo::Baseのすべてのメソッドを継承しており、 次の新しいメソッドを実装しています。

detect

  my $extensions = $types->detect('application/json;q=9');

Acceptヘッダーからファイルの拡張子を検知します。

ひとつ以上のMIMEタイプが含まれている 未仕様の値は現在は無視されます。 ブラウザが実際に何がほしいかを理解していないことが たびたびあるからです。

  # 優先順位のついた検地された拡張をリスト
  say for @{$types->detect('application/json, text/xml;q=0.1', 1)};

type

  my $type = $types->type('png');
  $types   = $types->type(png => 'image/png');
  $types   = $types->type(json => [qw(application/json text/x-json)]);

ファイル拡張子のためのMIMEタイプの設定と取得。

参考

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

(Mojolicious 6.05を反映)

Something went wrong with that request. Please try again.