Module: Reef

Defined in:
lib/reef.rb,
lib/reef/version.rb

Constant Summary collapse

VERSION =
"0.0.0"

Instance Method Summary collapse

Instance Method Details

#initialize(host, port) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/reef.rb', line 5

def initialize(host, port)
  @server = Reel::Server.supervise(host, port) do |connection|
    while request = connection.request
      status, headers, body = call Rack::MockRequest.env_for(request.url, :method => request.method, :input => request.body)
      response_klass = body.is_a?(Stream) ? StreamResponse : Response
      connection.respond(response_klass.new(status_symbol(status), headers, body))
    end
  end
end

#status_symbol(status) ⇒ Object



15
16
17
# File 'lib/reef.rb', line 15

def status_symbol(status)
  status.is_a?(Fixnum) ? Http::Response::STATUS_CODES[status].downcase.gsub(/\s|-/, '_').to_sym : status.to_sym
end

#terminate ⇒ Object



19
20
21
# File 'lib/reef.rb', line 19

def terminate
  @server.terminate if @server
end