module CQHTTP # TODO class Service attr_reader :json def initialize(hostname: '0.0.0.0', port: 9455) @server = TCPServer.new(hostname, port) @event_method = [] end def bind(func) @event_method << func end def run loop do socket = @server.accept head socket if $VERBOSE socket.print "HTTP/1.1 204\r\nContent-Type: application/json\r\n\r\n" data = socket.gets @json = JSON.parse data @event_method.each { |func| func.call self } socket.close end end private def head(socket) puts 'head' while (line = socket.gets) != "\r\n" print ' ' puts line end puts 'end' end end end