Class: Webmachine::Adapters::Ring::Handler

Inherits:
Object
  • Object
show all
Includes:
Java::ClojureLang::IFn
Defined in:
lib/webmachine/adapters/ring.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dispatcher) ⇒ Handler

Returns a new instance of Handler.



75
76
77
# File 'lib/webmachine/adapters/ring.rb', line 75

def initialize(dispatcher)
  @dispatcher = dispatcher
end

Instance Attribute Details

#dispatcherObject (readonly)

Returns the value of attribute dispatcher.



73
74
75
# File 'lib/webmachine/adapters/ring.rb', line 73

def dispatcher
  @dispatcher
end

Instance Method Details

#invoke(request) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/webmachine/adapters/ring.rb', line 79

def invoke(request)
  ring_request = Ring::RingRequest.new(request)

  request = Webmachine::Request.new(ring_request.method,
                                    ring_request.url,
                                    ring_request.headers,
                                    ring_request.body)

  response = Webmachine::Response.new

  dispatcher.dispatch(request, response)

  Ring::RingResponse.from_webmachine(response)
end