Sha256: f3b88fde5b5f5df92d6a53e168dfd30143b8871d7fd9679e78b213ee108c2247
Contents?: true
Size: 798 Bytes
Versions: 4
Compression:
Stored size: 798 Bytes
Contents
# This file is part of the "Utopia Framework" project, and is released under the MIT license. # Copyright 2010 Samuel Williams. All rights reserved. # See <utopia.rb> for licensing details. require 'utopia/middleware' module Utopia module Middleware # This class filters a incoming request and only executes a given block if it matches the given filter path. class Filter def initialize(app, filter, &block) @app = app @filter = filter branch = Rack::Builder.new(&block) branch.run(@app) @process = branch.to_app end def applicable(request) return request.path.index(@filter) != nil end def call(env) request = Rack::Request.new(env) if applicable(request) @process.call(env) else @app.call(env) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
utopia-0.10.0 | lib/utopia/middleware/filter.rb |
utopia-0.9.61 | lib/utopia/middleware/filter.rb |
utopia-0.9.60 | lib/utopia/middleware/filter.rb |
utopia-0.9.59 | lib/utopia/middleware/filter.rb |