Class: Webmachine::Adapters::HTTPkit

Inherits:
Webmachine::Adapter show all
Defined in:
lib/webmachine/adapters/httpkit.rb

Constant Summary collapse

VERSION_STRING =
"#{Webmachine::SERVER_STRING} HTTPkit/#{::HTTPkit::VERSION}".freeze

Instance Attribute Summary

Attributes inherited from Webmachine::Adapter

#application

Instance Method Summary collapse

Methods inherited from Webmachine::Adapter

#initialize, run

Constructor Details

This class inherits a constructor from Webmachine::Adapter

Instance Method Details

#optionsObject



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/webmachine/adapters/httpkit.rb', line 15

def options
  @options ||= {
    :address => application.configuration.ip,
    :port => application.configuration.port,
    :handlers => [
      ::HTTPkit::Server::TimeoutsHandler.new,
      ::HTTPkit::Server::KeepAliveHandler.new,
      self
    ]
  }
end

#runObject



27
28
29
30
31
# File 'lib/webmachine/adapters/httpkit.rb', line 27

def run
  ::HTTPkit.start do
    ::HTTPkit::Server.start(options)
  end
end

#serve(request, served) ⇒ Object

Called by HTTPkit::Server for every request



34
35
36
37
38
39
# File 'lib/webmachine/adapters/httpkit.rb', line 34

def serve(request, served)
  response = Webmachine::Response.new
  application.dispatcher.dispatch(convert_request(request), response)

  served.fulfill(convert_response(response))
end