2008年05月25日
_ [hidden] subversionでサイトを更新。
subversionでサイトのリソース管理をするようにしました。 忘れないように、post-commitの全文を張っておきます。
#!/bin/sh cd /home/momo-lab/www /home/momo-lab/local/bin/svn update >> /home/momo-lab/repos/log/svnupdate.log &
_ [tDiary] add_conf_procでadd_cookieしてもクッキーが出力されない。
プラグインの設定画面でOKボタンを押したタイミングで、クッキーを出力するようにしたくて、add_conf_proc内でadd_cookieメソッドを呼んでいたんだけど、どうしてもクッキーが出力されない。 どうしてかなーと思って、いろいろ見てみると、update.rbのレスポンスヘッダではSet-Cookieを出力しないようになっているようでした。 update.rbではクッキーを使わないようにしないといけない理由ってなにかあるんでしたっけ?
とりあえず、今回の目的を満たすためだけのパッチは以下のような感じです。
Index: update.rb =================================================================== --- update.rb (revision 3270) +++ update.rb (working copy) @@ -48,27 +48,29 @@ end begin - head = body = '' + head = {} + body = '' if @cgi.mobile_agent? then body = conf.to_mobile( tdiary.eval_rhtml( 'i.' ) ) - head = @cgi.header( + head = { 'status' => '200 OK', 'type' => 'text/html', 'charset' => conf.mobile_encoding, 'Content-Length' => body.size.to_s, 'Vary' => 'User-Agent' - ) + } else body = tdiary.eval_rhtml - head = @cgi.header( + head = { 'status' => '200 OK', 'type' => 'text/html', 'charset' => conf.encoding, 'Content-Length' => body.size.to_s, 'Vary' => 'User-Agent' - ) + } + head['cookie'] = tdiary.cookies if tdiary.cookies.size > 0 end - print head + print @cgi.header( head ) print body if /HEAD/i !~ @cgi.request_method rescue TDiary::ForceRedirect head = {
MLに入って聞いてみるかなー。