Max*_*ams 3 ruby gzip ruby-on-rails heroku ruby-on-rails-3
我正在开发一个通过一个安静的xml界面与iphone应用程序通信的rails应用程序.自从他发送各种媒体以来,iphone应用程序开发人员想要抓住他的请求.我认为heroku会自动处理gzipped请求(http://adam.heroku.com/past/2009/4/22/gzip_makes_a_happy_web/),但它似乎没有:我得到一堆乱码的文本,通过它我不知道该怎么处理.
我需要设置我的heroku应用程序来处理这个设置吗?或者一个特定的标题他(iphone dev)需要发送他的请求告诉heroku如何处理它?
有点卡住,任何建议赞赏!谢谢,最大
我已经使用了这个要点中描述的方法来透明地解压缩gzipped请求体.Rails的重要部分是之前插入它ActionDispatch::ParamsParser.在config/environments/development.rb或config/environments/production.rb:
config.middleware.insert_before ActionDispatch::ParamsParser, "CompressedRequests"
Run Code Online (Sandbox Code Playgroud)
将要点的内容放入文件中,lib/middleware/compressed_requests.rb并确保添加lib/middleware/到自动加载路径config/application.rb:
config.autoload_paths += %W(#{config.root}/lib #{config.root}/lib/middleware)
Run Code Online (Sandbox Code Playgroud)
使用此应用程序永远不会知道请求是gzip压缩的,它应该独立于任何支持机架的Web服务器.我已经将它与webrick和thin一起使用,没有任何问题.
编辑:使用gzip压缩请求正文的任何HTTP请求都应设置HTTP标头Content-Encoding: gzip.这是一个卷曲的示例测试:
gzip my_file.txt
curl --header 'Content-Encoding: gzip' --data-binary @my_file.txt.gz http://example.com/path
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |