Sha256: 404177ed5b437163ebbeba653df2849750cb41cc55a3bfcbf736fcdb1b44a9fa
Contents?: true
Size: 934 Bytes
Versions: 25
Compression:
Stored size: 934 Bytes
Contents
require 'dassets/server/request' require 'dassets/server/response' # Rack middleware for serving Dassets asset files module Dassets class Server def initialize(app) @app = app end # The Rack call interface. The receiver acts as a prototype and runs # each request in a clone object unless the +rack.run_once+ variable is # set in the environment. Ripped from: # http://github.com/rtomayko/rack-cache/blob/master/lib/rack/cache/context.rb def call(env) if env['rack.run_once'] call! env else clone.call! env end end # The real Rack call interface. # if an asset file is being requested, this is an endpoint - otherwise, call # on up to the app as normal def call!(env) if (request = Request.new(env)).for_asset_file? Response.new(env, request.asset_file).to_rack else @app.call(env) end end end end
Version data entries
25 entries across 25 versions & 1 rubygems