Sha256: 5a4932dba20453a236e7e40577d7321cc57c72e51ec5dfc8ef5e073a7b7efcd9
Contents?: true
Size: 922 Bytes
Versions: 3
Compression:
Stored size: 922 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dassets-0.15.3 | lib/dassets/server.rb |
dassets-0.15.2 | lib/dassets/server.rb |
dassets-0.15.1 | lib/dassets/server.rb |