resolve method
Implementation
String? resolve(String? remoteIp, Headers headers) {
for (final headerName in this.headers) {
final lines = headers.getAll(headerName);
if (lines == null || lines.isEmpty) continue;
final ipsList = lines.last;
if (ipsList.isEmpty) continue;
final ips =
ipsList.split(',').map((s) => s.trim()).where((s) => s.isNotEmpty);
final ordered = useLeftmostIp ? ips : ips.toList().reversed;
for (final candidate in ordered) {
final parsed = _parseIp(candidate);
if (parsed != null) return parsed;
}
}
return remoteIp;
}