class Excon::Socket

def readline

def readline
  if @eof
    raise EOFError, 'end of file reached'
  else
    line = ''
    if @nonblock
      while char = read(1)
        line << char
        break if char == $/
      end
      raise EOFError, 'end of file reached' if line.empty?
    else
      begin
        Timeout.timeout(@data[:read_timeout]) do
          line = @socket.readline
        end
      rescue Timeout::Error
        raise Excon::Errors::Timeout.new('read timeout reached')
      end
    end
    line
  end
end