class Saorin::Server::Rack

Constants

DEFAULT_HEADERS

Attributes

server[R]

Public Class Methods

new(handler, options = {}) click to toggle source
Calls superclass method Saorin::Server::Base::new
# File lib/saorin/server/rack.rb, line 15
def initialize(handler, options = {})
  super
  @server = ::Rack::Server.new({
    :app => self,
    :Host => options[:host],
    :Port => options[:port],
  }.merge(@options))
end

Public Instance Methods

call(env) click to toggle source
# File lib/saorin/server/rack.rb, line 34
def call(env)
  request = ::Rack::Request.new(env)
  response = ::Rack::Response.new([], 200, DEFAULT_HEADERS.dup)
  response.write process_request(request.body.read) if request.post?
  response.finish
end
shutdown() click to toggle source
# File lib/saorin/server/rack.rb, line 28
def shutdown
  if @server.server.respond_to?(:shutdown)
    @server.server.shutdown
  end
end
start(&block) click to toggle source
# File lib/saorin/server/rack.rb, line 24
def start(&block)
  @server.start &block
end