mongrel 1.2.0.pre2 302跳转无响应的解决_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > mongrel 1.2.0.pre2 302跳转无响应的解决

mongrel 1.2.0.pre2 302跳转无响应的解决

 2011/1/18 8:04:41  xiao2004  http://xiao2004.javaeye.com  我要评论(0)
  • 摘要:对于这个魔幻的语言,调试花了我不少力气。这个bug只在windows控制台下才出现,在linux下没问题。一个好好的登陆post,成功后本应跳转的,控制台也打出302和跳转地址,可浏览器不跳转,报错。用httpsniffer工具看了一下,只有post没有回应数据。一点点的查源码,发现mongrel拦了个异常,确没有打印一下,害人不浅啊。最后查出是LogTailer类的tail!方法出现问题,print时有异常抛出,但被mongrel给接了,导致这个连接就这样结束了
  • 标签:解决

对于这个魔幻的语言,调试花了我不少力气。

?

这个bug 只 在windows控制台下才出现,在linux下没问题。

一个好好的登陆post,成功后本应跳转的,控制台也打出302和跳转地址,可浏览器不跳转,报错。

用http sniffer工具看了一下,只有post没有回应数据。

?

一点点的查源码,发现mongrel拦了个异常,确没有打印一下,害人不浅啊。

最后查出是LogTailer类的tail!方法出现问题,print时有异常抛出,但被mongrel给接了,导致这个连接就这样结束了。

hack一下lib/hack_log_tailer.rb

module Rails
  module Rack
    class LogTailer
      def tail!
        @file.seek @cursor

        if !@file.eof?
          contents = @file.read
          @cursor  = @file.tell
          $stdout.print contents rescue nil
        end
      end
    end
  end
end
?

?问题解决,

主要问题出在utf8字串上,windows console为gbk,强制打出来,可能出现异常,再底层的有兴趣的可以再跟进去看看。

发表评论
用户名: 匿名