run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
final configPath = argResults?.rest.firstOrNull;
if (configPath == null || configPath.isEmpty) {
usageException('Please provide a config file path');
}
final baseUrl = argResults!['base-url'] as String;
final token = argResults?['token'] as String?;
final headerList = argResults?['header'] as List<String>? ?? [];
final verbose = argResults?['verbose'] as bool? ?? false;
final headers = <String, String>{
'Content-Type': 'application/json',
'Accept': 'application/json',
};
if (token != null && token.isNotEmpty) {
headers['Authorization'] = 'Bearer $token';
}
for (final h in headerList) {
final parts = h.split(':');
if (parts.length >= 2) {
headers[parts[0].trim()] = parts.sublist(1).join(':').trim();
}
}
await _testConfig(configPath, baseUrl, headers, verbose);
}