Class: Escher::Request::Factory

Inherits:
Object
  • Object
show all
Defined in:
lib/escher/request/factory.rb

Class Method Summary collapse

Class Method Details

.from_request(request) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/escher/request/factory.rb', line 5

def self.from_request(request)
  case request

    when defined?(ActionDispatch::Request) && ActionDispatch::Request
      RackRequest.new(Rack::Request.new(request.env))

    when defined?(Rack::Request) && Rack::Request
      RackRequest.new(request)

    when Hash
      HashRequest.new(request)

    else
      Escher::Request::LegacyRequest.new(request)

  end
end