docs: def connect_command(self):
          '''
          Generates a JSON string with the params to be used
          when sending CONNECT to the server.
  
            ->> CONNECT {"verbose": false, "pedantic": false, "lang": "python2" }
  
          '''
          options = {
              "verbose": self.options["verbose"],
              "pedantic": self.options["pedantic"],
              "lang": __lang__,
              "version": __version__,
              "protocol": PROTOCOL
          }
          if "auth_required" in self._server_info:
              if self._server_info["auth_required"] == True:
                  # In case there is no password, then consider handle
                  # sending a token instead.
                  if self.options["user"] is not None and self.options["password"] is not None:
                      options["user"] = self.options["user"]
                      options["pass"] = self.options["password"]
                  elif self.options["token"] is not None:
                      options["auth_token"] = self.options["token"]
                  elif self._current_server.uri.password is None:
                      options["auth_token"] = self._current_server.uri.username
                  else:
                      options["user"] = self._current_server.uri.username
                      options["pass"] = self._current_server.uri.password
          if self.options["name"] is not None:
              options["name"] = self.options["name"]
          if self.options["no_echo"] is not None:
              options["echo"] = not self.options["no_echo"]
  
          args = json.dumps(options, sort_keys=True)
          return CONNECT_PROTO.format(CONNECT_OP, args, _CRLF_)