Sha256: 933a693179aa3139060c1cb6c7e630370d370ea6eb191ff9efa4be57dde67f75

Contents?: true

Size: 543 Bytes

Versions: 4

Compression:

Stored size: 543 Bytes

Contents

# frozen_string_literal: true

module Acfs
  module Middleware
    # A base middleware that does not modify request or response.
    # Can be used as super class for custom middleware implementations.
    #
    class Base
      attr_reader :app, :options

      def initialize(app, options = {})
        @app     = app
        @options = options
      end

      def call(request)
        if respond_to? :response
          request.on_complete {|res, nxt| response(res, nxt) }
        end
        app.call(request)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
acfs-1.5.1 lib/acfs/middleware/base.rb
acfs-1.5.0 lib/acfs/middleware/base.rb
acfs-1.4.0 lib/acfs/middleware/base.rb
acfs-1.3.4 lib/acfs/middleware/base.rb