compress_controller.rb
来自「ruby on rails web敏捷开发之路第二版 源代码」· RB 代码 · 共 39 行
RB
39 行
#---# Excerpted from "Agile Web Development with Rails, 2nd Ed."# We make no guarantees that this code is fit for any purpose. # Visit http://www.pragmaticprogrammer.com/titles/rails2 for more book information.#---require 'zlib'require 'stringio'class CompressController < ApplicationController after_filter :compress def index render(:text => "<pre>" + File.read("/etc/motd") + "</pre>") end protected def compress accepts = request.env['HTTP_ACCEPT_ENCODING'] return unless accepts && accepts =~ /(x-gzip|gzip)/ encoding = $1 output = StringIO.new def output.close # Zlib does a close. Bad Zlib... rewind end gz = Zlib::GzipWriter.new(output) gz.write(response.body) gz.close if output.length < response.body.length response.body = output.string response.headers['Content-encoding'] = encoding end endend
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?