class LanguageServer::Protocol::Transport::Io::Reader
Attributes
io[R]
Public Class Methods
new(io)
click to toggle source
# File lib/language_server/protocol/transport/io/reader.rb, line 10 def initialize(io) @io = io io.binmode end
Public Instance Methods
read(&block)
click to toggle source
# File lib/language_server/protocol/transport/io/reader.rb, line 15 def read(&block) while buffer = io.gets("\r\n\r\n") content_length = buffer.match(/Content-Length: (\d+)/i)[1].to_i message = io.read(content_length) or raise request = JSON.parse(message, symbolize_names: true) block.call(request) end end