code: def run_commands(self, commands, encoding='json', send_enable=True,
                       **kwargs):
          
          commands = make_iterable(commands)
  
          # Some commands are multiline commands. These are banner commands and
          # SSL commands. So with this two lines we
          # can support those by passing commands by doing:
          # banner login MULTILINE: This is my banner.\nAnd I even support
          # multiple lines.
          # Why this? To be able to read a configuration from a file, split it
          # into lines and pass it as it is
          # to pyeapi without caring about multiline commands.
          commands = [{'cmd': c.split('MULTILINE:')[0],
                       'input': '%s\n' % (c.split('MULTILINE:')[1].strip())}
                      if 'MULTILINE:' in c else c for c in commands]
  
          if send_enable:
              if self._enablepwd:
                  commands.insert(0, {'cmd': 'enable', 'input': self._enablepwd})
              else:
                  commands.insert(0, 'enable')
  
          response = self._connection.execute(commands, encoding, **kwargs)
  
          # pop enable command from the response only if we sent enable
          if send_enable:
              response['result'].pop(0)
  
          return response['result']
docs: Sends the commands over the transport to the device
  
          This method sends the commands to the device using the nodes
          transport.  This is a lower layer function that shouldn't normally
          need to be used, preferring instead to use config() or enable().
  
          Args:
              commands (list): The ordered list of commands to send to the
                  device using the transport
              encoding (str): The encoding method to use for the request and
                  excpected response.
              send_enable (bool): If True the enable command will be
                                 prepended to the command list automatically.
              **kwargs: Additional keyword arguments for expanded eAPI
                  functionality. Only supported eAPI params are used in building
                  the request
  
          Returns:
              This method will return the raw response from the connection
                  which is a Python dictionary object.