TL::Filter::Redirect - リダイレクトヘッダ出力

TABLE OF CONTENTS


NAME

TL::Filter::Redirect - リダイレクトヘッダ出力


SYNOPSIS

  $TL->setContentFilter(
      'TL::Filter::Redirect',
      location => 'http://example.org/');

あるいは

  $TL->location('http://example.org/');

DESCRIPTION

以下の処理を行う。

Locationヘッダの生成。
特定フォームデータを指定された種別のリンク(リダイレクト先)に付与する。

$TL->location は、出力フィルタをこのクラスに 設定する為のユーティリティーメソッドである。

フィルタパラメータ

location

リダイレクト先のURLを指定する。

METHODS

getSaveForm
  my $SAVE = $filter->getSaveForm;

出力フィルタが所持している、保存すべきデータが入った Form オブジェクトを返す。

setDecideLink
  $filter->setDecideLink(\&func);

リンク種別を決定する関数を設定する。 値を渡さないとデフォルトの判別処理に戻す。

関数の戻り値が1であれば、同じTLライブラリで作成された環境へのリンクとして、リンクの書き換えを行う。 関数の戻り値が0であれば、リンクの書き換えは行わない。

デフォルトの判別処理は以下の関数で行っている。

  sub defaultDecideLink {
    my (%param) = @_;

    if($param{'link'} =~ m/^https?/) {
      return 0;
    }
    elsif($param{'link'} =~ m/^javascript/i) {
      return 0;
    }
    elsif($param{'link'} =~ m/^(?:mailto|ftp):/) {
      return 0;
    }
    elsif(not length $param{'link'}) {
      return 0;
    }
    else {
      return 1;
    }
  }
setHeader
  $filter->setHeader($key => $value)

他の出力の前に実行する必要がある。 同じヘッダを既に出力しようとしていれば、そのヘッダの代わりに指定したヘッダを出力する。(上書きされる)

addHeader
  $filter->addHeader($key => $value)

他の出力の前に実行する必要がある。 同じヘッダを既に出力しようとしていれば、そのヘッダに加えて指定したヘッダを出力する。(追加される)

flush

TL::Filter参照

print

TL::Filter参照


SEE ALSO

TL
TL::Filter
TL::Form

AUTHOR INFORMATION

TL::Filter::Redirect - リダイレクトヘッダ出力

INDEX

TL::Filter::Redirect - リダイレクトヘッダ出力