Sha256: f1acedde9568d08f3df74102a364636b9029c39a15dc61ee7cfa9105e81f033f

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 KB

Contents

# encoding: utf-8

require 'eventmachine'
require 'fiber'
require 'promise'
require 'http/parser'
require 'time'
require 'adamantium'

require 'httpkit/version'

require 'httpkit/support/handler_manager'
require 'httpkit/support/message'

require 'httpkit/promise'
require 'httpkit/body'
require 'httpkit/request'
require 'httpkit/response'

require 'httpkit/connection/eventmachine'
require 'httpkit/connection/status'
require 'httpkit/serializer'

require 'httpkit/client'
require 'httpkit/client/body_handler'
require 'httpkit/client/mandatory_handler'
require 'httpkit/client/keep_alive_handler'
require 'httpkit/client/timeouts_handler'
require 'httpkit/server'
require 'httpkit/server/body_handler'
require 'httpkit/server/mandatory_handler'
require 'httpkit/server/keep_alive_handler'
require 'httpkit/server/timeouts_handler'

module HTTPkit
  def self.run
    start do
      yield
      stop
    end
  end

  def self.start
    EM.run do
      Fiber.new { yield }.resume
    end
  end

  def self.stop
    EM.stop
    EM.next_tick {}
  end

  def self.sleep(duration)
    promise = Promise.new
    EM.add_timer(duration) { promise.fulfill }
    promise.sync
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
httpkit-0.6.0.pre.5 lib/httpkit.rb