validateConfigs static method
Valida que una lista de configuraciones esté bien formada
Implementation
static List<String> validateConfigs(List<RequestHeadersConfig> configs) {
final errors = <String>[];
for (int i = 0; i < configs.length; i++) {
final config = configs[i];
// Validar URL
if (config.url.isEmpty) {
errors.add('Config $i: URL cannot be empty');
}
// Validar rango de status codes
if (config.fromStatus < 100 || config.fromStatus > 599) {
errors.add('Config $i: fromStatus must be between 100-599');
}
if (config.toStatus < 100 || config.toStatus > 599) {
errors.add('Config $i: toStatus must be between 100-599');
}
if (config.fromStatus > config.toStatus) {
errors.add('Config $i: fromStatus (${config.fromStatus}) cannot be greater than toStatus (${config.toStatus})');
}
// Validar headers list
if (config.headers.isEmpty) {
errors.add('Config $i: headers list cannot be empty');
}
// Validar que los headers no contengan caracteres inválidos
for (int j = 0; j < config.headers.length; j++) {
final header = config.headers[j];
if (header.isEmpty) {
errors.add('Config $i: header $j cannot be empty');
}
// Headers HTTP no pueden contener ciertos caracteres
if (header.contains(' ') || header.contains('\t') || header.contains('\n')) {
errors.add('Config $i: header "$header" contains invalid characters (spaces/tabs/newlines)');
}
}
}
return errors;
}