Sha256: da50244b5d572e717bb683866fb16e7689108ba7bbc0ead7ae3b1b6c4fc93351
Contents?: true
Size: 921 Bytes
Versions: 1
Compression:
Stored size: 921 Bytes
Contents
# frozen_string_literal: true require "dassets/server/request" require "dassets/server/response" # Rack middleware for serving Dassets asset files module Dassets; end class Dassets::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
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dassets-0.15.0 | lib/dassets/server.rb |