Sledge に大幅に手を入れたいなーと思いつつ。気になっているところをあげてみる。。
# 実装はまだ全然考えてません。
# 実装はまだ全然考えてません。
* Sledge::Charset::* の廃止
フック登場以前の機能なのでもういらないかも。
フックとフィルターで代替出来ちゃうからなー
あと、content_type をセットする位置があんまりよくなくて HTML 以外のデータを出力するときにちとめんどくさい。
* Authorizer の認証失敗時の挙動
Authorizer で認証失敗時のリダイレクトを Authorizer 側がやるのはどうかなーと。
遷移のコントロールが Pages と Authorizer に分かれるのはどうなんだろうと。
Pages 側で handle_auth_failure のような特定のメソッドが呼ばれるようにして、それをオーバーライドするとかがいいのかな。
リダイレクト以外の処理も出来そうなので。
sub handle_auth_failure { $self->redirect('login_page'); }
* リダイレクト時の URL
リダイレクトを使うときに URL を意識しないといけないのが、あんまり美しくない。
$self->redirect('/foo');とかでなく
$self->forward('Project::Pages::Bar', 'hoge');で Project::Pages::Bar の dispatch_hoge な URL にいくとか出来たらステキな気がする。 他にも気になる事はちょこちょこあるので、つづく(かも)
でも、PCのサイトを最初に作ってProject::Pages::*を丸ごとコピーしてProject::Pages::Mobile::*にした場合、
redirectの場合は相対URLにしておけば修正入らずだけどforwardだと個々に修正が必要でめんどくさそう。