class OneApi::DummyWebServer
Web server, to be used only in examples
Attributes
requests[RW]
Public Class Methods
new(ip_address, port)
click to toggle source
# File lib/oneapi-ruby/utils.rb, line 103 def initialize(ip_address, port) @webserver = TCPServer.new(ip_address, port) @session = nil @requests = [] end
Public Instance Methods
parse_request_string(request_string)
click to toggle source
# File lib/oneapi-ruby/utils.rb, line 131 def parse_request_string request_string lines = request_string.split(/\n/) method, url, http_version = lines[0].split(' ') headers = {} body = nil for line in lines[1,lines.length] if body == nil if line.strip == '' body = '' else index = line.index ':' key = line[0,index].strip value = line[index + 1, line.length].strip headers[key] = value end end if body != nil body += line + "\n" end end return method, url, headers, body.strip end
start(seconds)
click to toggle source
# File lib/oneapi-ruby/utils.rb, line 109 def start(seconds) Thread.new { while (@session = @webserver.accept) request_string = @session.sysread 10000 @session.print "HTTP/1.1 200/OK\r\nContent-type:text/html\r\n\r\n" @session.print("OK") @session.close @requests.push(parse_request_string request_string) end } sleep(seconds) @webserver.close if @session != nil begin @session.close rescue end end end