Module: RSence::Broker

Defined in:
lib/rsence/http/rackup.rb

Constant Summary collapse

@@transporter =
Transporter.new

Class Method Summary collapse

Class Method Details

.call(env) ⇒ Object



62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/rsence/http/rackup.rb', line 62

def self.call(env)
  request  = Request.new(env)
  response = Response.new
  request_method = request.request_method.downcase
  if request_method == 'get'
    puts "get: #{request.fullpath}" if $DEBUG_MODE
    sleep @@ping_sim if @@ping_sim
    not_found( request, response ) unless @@transporter.servlet( :get, request, response )
  elsif request_method == 'post'
    puts "post: #{request.fullpath}" if $DEBUG_MODE
    sleep @@ping_sim if @@ping_sim
    not_found( request, response ) unless @@transporter.servlet( :post, request, response )
  else
    puts "unsupported method: #{request_method.inspect}"
  end
  response.header['Content-Length'] = response.body.bytesize.to_s unless response.header.has_key?('Content-Length')
  return [response.status, response.header, response.body]
end

.stopObject



57
58
59
60
# File 'lib/rsence/http/rackup.rb', line 57

def self.stop
  @@transporter.plugins.shutdown
  @@transporter.sessions.shutdown
end