Class: Acfs::Middleware::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/acfs/middleware/base.rb

Overview

A base middleware that does not modify request or response. Can be used as super class for custom middleware implementations.

Direct Known Subclasses

Logger, Print, Serializer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app, **opts) ⇒ Base

Returns a new instance of Base.



11
12
13
14
# File 'lib/acfs/middleware/base.rb', line 11

def initialize(app, **opts)
  @app     = app
  @options = opts
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



9
10
11
# File 'lib/acfs/middleware/base.rb', line 9

def app
  @app
end

#optionsObject (readonly)

Returns the value of attribute options.



9
10
11
# File 'lib/acfs/middleware/base.rb', line 9

def options
  @options
end

Instance Method Details

#call(request) ⇒ Object



16
17
18
19
20
21
# File 'lib/acfs/middleware/base.rb', line 16

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