Sha256: a3af71c2accb8c1cd512ed85958853ca6eec8087e27133c549c510a56264015a

Contents?: true

Size: 1.14 KB

Versions: 1

Compression:

Stored size: 1.14 KB

Contents

= Rack::Staticifier

Rack::Staticifier is Rack middleware for staticly caching responses.

== Install

  $ gem sources -a http://gems.github.com
  $ sudo gem install remi-rack-staticifier

== Usage

  require 'rack/staticifier'

  # this will cache ALL responses in a 'cache' directory
  use Rack::Staticifier

  # this will cache ALL responses in a 'public/my/cached/stuff' directory
  use Rack::Staticifier, :root => 'public/my/cached/stuff'

  # this will only cache requests with 'foo' in the URL
  use Rack::Staticifier do |env, response|
    env['PATH_INFO'].include?('foo')
  end

  # this will only cache requests with 'hi' in the response body
  use Rack::Staticifier do |env, response|
    # response is a regular Rack response, eg. [200, {}, ['hi there']]
    body = ''
    response.last.each {|string| body << string }
    body.include?('hi')
  end

  # this will only cache requests with 'foo' in the URL (incase you don't want to pass a block)
  use Rack::Staticifier, :cache_if => lambda { |env, response| env['PATH_INFO'].include?('foo') }

== TODO

* compare to Rack::ResponseCache (in rack-contrib) ... maybe that can replace this, or vice-versa?

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rack-staticifier-0.1.6 README.rdoc