瞎扯淡 Rack 的一些坑爹事实

hooopo · 2013年07月29日 · 最后由 jimrokliu 回复于 2013年07月29日 · 2894 次阅读
  1. rack 会把x-y-z这样的 http 头转成HTTP_X_Y_Z 这种形式,但是如何获取请求原有的 http header 呢?可能请求的 header 是x-y_z

  2. env["rack.input"]这个 IO 对象任何中间件都可以读,要操作它必须自己先 rewind 一下?中间件在读完不能给 rewind 一下?不知道判断env["rack.input"].eof?靠谱不,会不会有中间件只读了一部分....

相关链接:http://ruby-china.org/topics/5108

header 处理法是 CGI 的传统... 然后 rack 把这种环境滥用到 "rack.*" 上了

#3 楼 @luikore 有获取 raw data 的方法么?我一直以为应该有一个request.headers这样的方法,但是没找到..

#1 楼 @bhuztez nginx 把这东西打开的话就完蛋啦 这种自定义 header 有什么规范吗?

#4 楼 @hooopo 我猜有的中间件如 http proxy 就是要只读一部分的? 其实 headers 相关的 env var 是 rack 协议的实现者,也就是 http server 填进去的...

#5 楼 @hooopo 感觉就是尽量不要用 underscore,尽量用'X-','X-HOOOPO-','HOOOPO-'开头就是了

自定义 header 头好像是有规范的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号