LWP::MediaTypes

Hippo2000 (2000/7/28)

LWP::MediaTypesモジュールなのです。

作者はGisle Aasさんです。メールで許可をいただきました。


目次


名前

LWP::MediaTypes - ファイルまたはURLのためのメディアタイプを答えます


概要

 use LWP::MediaTypes qw(guess_media_type);
 $type = guess_media_type("/tmp/foo.gif");

説明

このモジュールはメディア(MIMEとしても知られる)タイプとエンコーディングを扱うための関数を提供します。ファイル拡張子からメディア・タイプへのマッピングはmedia.types ファイルによって定義されます。もし ~/.media.types ファイルが存在すれば、代わりにそれが使われます。以前のものとの互換性を保つために、~/.mime.typesも探します。

以下の関数がデフォルトでエクスポートされます:

guess_media_type($filename_or_url, [$header_to_modify])
この関数はファイルまたはurlのためのメディア・タイプとエンコードを答えようとします。これは"text/html"のような文字列で、content-typeを返します。配列コンテキストでは、(そのファイルをエンコードするために使われる順で)適応されるすべてのcontent-encodingsを返します。ファイル名の代わりにURIオブジェクト・リファレンスを渡すこともできます。

ファイル名を見てもタイプがわからなければ、guess_media_typeは-T Perl演算子を使います。もしこれが働けば(そして-TがTRUEを返せば)、タイプとしてtext/plain を返します。そうでなければapplication/octet-streamをタイプとして返します。

 
オプションの2番目の引数は、HTTP::Headersオブジェクトまたはそれと同様の方法で$obj->headerを実装しているなんらかのオブジェクトへのリファレンスです。それがあると、"Content-Type"と"Content-Encoding"の値がこのヘッダに設定されます。
media_suffix($type,...)
この関数は指定されたメディア・タイプを示すために使うことが出来るすべての拡張子を返します。ワイルドカード・タイプを使うことが出来ます。スカラ・コンテキストでは見つかった最初の拡張子を返します。

例:

  @suffixes = media_suffix('image/*', 'audio/basic');
  $suffix = media_suffix('text/html');

以下の関数は明示的に要求によってのみエクスポートされます:

add_type($type, @exts)
ファイル拡張子のリストを与えられたメディア・タイプに結び付けます。

例:

    add_type("x-world/x-vrml" => qw(wrl vrml));
add_encoding($type, @ext)
ファイル拡張子のリストをエンコーディング・タイプに結び付けます。

例:

 add_encoding("x-gzip" => "gz");
read_media_types(@files)
メディア・タイプファイルを解析し、そこで見つかったタイプ・マッピングを追加します。

例:

    read_media_types("conf/mime.types");

著作権

Copyright 1995-1999 Gisle Aas.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


ホーム Perlの小技 LWP

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。