⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compress_controller.rb

📁 ruby on rails web敏捷开发之路第二版 源代码
💻 RB
字号:
#---# 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -