constant WEBrick::Config::FileHandler

FileHandler -> Hash[permalink][rdoc][edit]

WEBrick::HTTPServlet::FileHandler の設定のデフォルト値を保持したハッシュです。

require 'webrick'
WEBrick::Config::FileHandler = {
  :NondisclosureName => [".ht*", "*~"],
  :FancyIndexing     => false,
  :HandlerTable      => {},
  :HandlerCallback   => nil,
  :DirectoryCallback => nil,
  :FileCallback      => nil,
  :UserDir           => nil,  # e.g. "public_html"
  :AcceptableLanguages => []  # ["en", "ja", ... ]
}
:AcceptableLanguages

コンテンツの言語を選択するオプション。設定値は文字列の配列。

クライアントからのリクエストに含まれるAccept-Languageの内容がfrで、かつ:AcceptableLanguagesには['ja', 'en']が設定されている場合、 WEBrick::HTTPServlet::FileHandlerは以下の順番でファイルを探す。

  1. index.html
  2. index.html.fr
  3. index.html.ja
  4. index.html.en
:FancyIndexing

クライアントがディレクトリをリクエストしたが表示するファイルが無い場合の挙動を決める。値は真偽値。

trueならば、代わりにファイル一覧を表示する。 falseならばエラー(403 Forbidden)となる。

:DirectoryCallback
:FileCallback
:HandlerCallback
:HandlerTable
:NondisclosureName

インデックスに表示したくないファイルの指定。値は文字列の配列。表示したくないファイルをワイルドカードで指定する。

:UserDir

ユーザ毎のドキュメントルートのディレクトリ名。値は文字列。

ユーザfooのホームディレクトリが/home/fooで、:UserDirにpublic_htmlを設定した場合、クライアントから/~foo/index.htmlがリクエストされると/home/foo/public_html/index.htmlの内容を表示される。

この設定を有効にするには以下の条件が必要。

  • etcライブラリが使える状態である。
  • 環境変数 SCRIPT_NAME が空(空文字列)である。