[僕] 2008年02月15日 アーカイブ

僕ト云フ事

たろマークはてなブックマーク

2008年02月15日

[catalyst][coderepos] Catalyst::Plugin::MakeURI コミットした

コミットしてから少し経ってしまいましたが。

Catalyst::Plugin::MakeURI

元々は、「任意の場所で https なリンクを作りたい」「https な指定をしていても設定によって全部 http にしたい」と思ったのがキッカケなんですが、「どうせだったら base uri も自分で指定出来る uri_for を作ろう」と思って今の形になりました。

使い方は uri_for と同じはずです。

yaml

ssl: 1
base:
  uri: http://example.com

controller など

# https://example.com/path/to?foo=bar
$c->make_uri_for('https', '/path', 'to', { foo => 'bar' } );

これが、ssl:0 にするとこうなる。
http://example.com/path/to?foo=bar

戻り値は URI オブジェクトですので、戻り値もいじりやすいと思います。(ここも uri_for と同じか。)

コミット後に、ikasam_a さんから BuildURI の説明聞いて、「ああ、なるほど」とか思ったけど、base uri を自分で設定して uri_for したい! SSL の切り替えしたい! という人がいたら試してください。

追記

さっき tomyhero さんと話してて、Catalyst::Plugin::RequireSSL 使えば http | https の切り替えは解決することに気がついたよ!

追記2

BuildURI の作者さんからコメント来てたのに気がついてなかった!>_<
コメントありがとうございます!

# zigorou (2008年02月15日 12:14)

> base uri を自分で設定して uri_for したい! SSL の切り替えしたい!

BuildURIで出来ますよ。元々同じように思って作った物なので。

とのことです。

output 重要だなぁ。thanks!