lib/em-midori/server.rb in em-midori-0.0.7.1 vs lib/em-midori/server.rb in em-midori-0.0.8
- old
+ new
@@ -1,25 +1,28 @@
module Midori::Server
- attr_accessor :request, :api, :websocket
+ attr_accessor :request, :api, :websocket, :eventsource
def initialize(api)
@api = api
@request = Midori::Request.new
@websocket = Midori::WebSocket.new(self)
+ @eventsource = Midori::EventSource.new(self)
end
def receive_data(data)
- start_time = Time.now
- data = StringIO.new(data)
- port, ip = Socket.unpack_sockaddr_in(get_peername)
- @request.ip = ip
- @request.port = port
- if @request.parsed?
- websocket_request(data)
- else
- receive_new_request(data)
- end
- puts "#{@request.ip} - - [#{Time.now.inspect}] \"#{@request.method} #{@request.path} #{@request.protocol}\" #{@response.status} #{(Time.now.to_f - start_time.to_f).round(5)}".green
+ ->() {async_internal(Fiber.new do
+ start_time = Time.now
+ data = StringIO.new(data)
+ port, ip = Socket.unpack_sockaddr_in(get_peername)
+ @request.ip = ip
+ @request.port = port
+ if @request.parsed?
+ websocket_request(data)
+ else
+ receive_new_request(data)
+ end
+ puts "#{@request.ip} - - [#{Time.now.inspect}] \"#{@request.method} #{@request.path} #{@request.protocol}\" #{@response.status} #{(Time.now.to_f - start_time.to_f).round(5)}".green
+ end)}.call
end
def receive_new_request(data)
begin
@request.parse(data)