docs: def _build_request(self, type, commands):
          '''
          Build NX-API JSON request.
          '''
          request = {}
          headers = {
              'content-type': 'application/json',
          }
          if self.nxargs['connect_over_uds']:
              user = self.nxargs['cookie']
              headers['cookie'] = 'nxapi_auth=' + user + ':local'
              request['url'] = self.NXAPI_UDS_URI_PATH
          else:
              request['url'] = '{transport}://{host}:{port}{uri}'.format(
                  transport=self.nxargs['transport'],
                  host=self.nxargs['host'],
                  port=self.nxargs['port'],
                  uri=self.NXAPI_REMOTE_URI_PATH,
              )
  
          if isinstance(commands, (list, set, tuple)):
              commands = ' ; '.join(commands)
          payload = {}
          payload['ins_api'] = {
              'version': self.NXAPI_VERSION,
              'type': type,
              'chunk': '0',
              'sid': '1',
              'input': commands,
              'output_format': 'json',
          }
          request['headers'] = headers
          request['payload'] = json.dumps(payload)
          request['opts'] = {
              'http_request_timeout': self.nxargs['timeout']
          }
          log.info('request: %s', request)
          return request