きりかノート 3冊め

おあそびプログラミング

SandTrip 0.9.6 リリース - バグ修正、リダイレクト対応

WebKit なブラウザにローカル CGI 機能を追加する SIMBL プラグインSandTrip バージョン 0.9.6 をリリースしました。変更点は次のとおりです。

  • 応答ステータスをきちんと(つーか HTTP 応答じゃねえ!)
  • 301, 302, 303, 307 のときはリダイレクト先をブラウザに提示

なぜか CGI が HTTP プロトコルでステータスを返すと思ってしまっていた。テストもそれで書いたので、なんの確認にもなってないよ…

 # 誤 - 0.9.5 が期待していた出力
HTTP/1.0 200 OK
Content-Type: text/html
Contennt-Length: 12345
:

# 正 - CGI が出力するヘッダ
Status: 200 OK
Content-Type: text/html
Contennt-Length: 12345
:

ついでにリダイレクトも実装。これはすっかり忘れてた。NSURL.URLWithString:relativeToURL: は文字列が相対パスじゃないとダメかと心配したけど問題なし。

 % irb -r osx/cocoa
irb:001> url1 = OSX::NSURL.URLWithString("http://kimuraw.txt-nifty.com/d/")
irb:002> url2 = OSX::NSURL.URLWithString_relativeToURL(
"http://kirika.la.coocan.jp/proj/sandtrip/index.html", url1)
irb:003> url2.absoluteString.to_s
=> "http://kirika.la.coocan.jp/proj/sandtrip/index.html"

さすがにそうじゃないとやってらんない。