Class: Net::HTTP::Middleware::Chain

Inherits:
Object
  • Object
show all
Defined in:
lib/net/http/middleware/chain.rb

Defined Under Namespace

Classes: FinalizeMiddleware

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Chain

Returns a new instance of Chain.



7
8
9
10
# File 'lib/net/http/middleware/chain.rb', line 7

def initialize(&block)
  @stack = []
  instance_eval(&block) if block_given?
end

Instance Attribute Details

#stackObject

Returns the value of attribute stack.



5
6
7
# File 'lib/net/http/middleware/chain.rb', line 5

def stack
  @stack
end

Instance Method Details

#call(request, body = nil, &on_finish) ⇒ Object



16
17
18
# File 'lib/net/http/middleware/chain.rb', line 16

def call(request, body = nil, &on_finish)
  build_call_chain(stack.dup, on_finish).call(request, body)
end

#use(middleware, *args) ⇒ Object



12
13
14
# File 'lib/net/http/middleware/chain.rb', line 12

def use(middleware, *args)
  stack << [middleware, args]
end