Class: Rack::OAuth2::Server::Abstract::Handler

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/oauth2/server/abstract/handler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&authenticator) ⇒ Handler

Returns a new instance of Handler.



8
9
10
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 8

def initialize(&authenticator)
  @authenticator = authenticator
end

Instance Attribute Details

#authenticatorObject

Returns the value of attribute authenticator.



6
7
8
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 6

def authenticator
  @authenticator
end

#requestObject

Returns the value of attribute request.



6
7
8
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 6

def request
  @request
end

#responseObject

Returns the value of attribute response.



6
7
8
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 6

def response
  @response
end

Instance Method Details

#_call(env) ⇒ Object



20
21
22
23
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 20

def _call(env)
  @authenticator.call(@request, @response) if @authenticator
  @response
end

#call(env) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/rack/oauth2/server/abstract/handler.rb', line 12

def call(env)
  # NOTE:
  #  Rack middleware is initialized only on the first request of the process.
  #  So any instance variables are acts like class variables, and modifying them in call() isn't thread-safe.
  #  ref.) http://stackoverflow.com/questions/23028226/rack-middleware-and-thread-safety
  dup._call(env)
end