ssb にパッチ
ssb(server side browser)すばらしすぎるんぐ! ブラウザだけで携帯電話の画面確認ができてしまう! サービスも(とりあえず)ノーコンフィグで簡単起動だし!
んでもって、不具合というか、私に都合が悪かったのでパッチを書いた。coderepos のアカウントまだ持ってないので、とりあえずここに書いてトラックバック。
開発中のアプリとかで URL が http://localhost:3000/ などの、ポート番号が80番じゃないとき、リダイレクト先やリンクがポート番号抜きで生成されてしまうのでその修正:
$ svn diff libs/ssb/request.rb
Index: libs/ssb/request.rb =================================================================== --- libs/ssb/request.rb (リビジョン 2049) +++ libs/ssb/request.rb (作業コピー) @@ -54,12 +54,12 @@ Net::HTTP.start(@uri.host.untaint, @uri.port.untaint) do |http| case method when 'GET' - response = http.get(uri.request_uri, request_header.update({'Host' => @uri.host, + response = http.get(uri.request_uri, request_header.update({'Host' => "#{@uri.host}:#{@uri.port}", 'Cookie' => 'server-side-browser'})) when 'POST' response = http.post(uri.request_uri, @post_params, - request_header.update({'Host' => @uri.host, + request_header.update({'Host' => "#{@uri.host}:#{@uri.port}", 'Content-Type' => 'application/x-www-form-urlencoded', 'Cookie' => 'server-side-browser' }))
あと、colinux とかで動かしてると、アクセス元制限はない方が嬉しいなー:
$ svn diff ssb-webrick.rb
Index: ssb-webrick.rb =================================================================== --- ssb-webrick.rb (リビジョン 2049) +++ ssb-webrick.rb (作業コピー) @@ -5,7 +5,7 @@ srv = WEBrick::HTTPServer.new({ :DocumentRoot => "#{ Dir.pwd }", - :BindAddress => '127.0.0.1', + #:BindAddress => '127.0.0.1', :Port => 10080, }) trap("INT"){ srv.shutdown }