in data/src/main/java/com/microsoft/azure/kusto/data/ClientRequestProperties.java [200:223]
private static long parseTimeoutFromTimespanString(String str) {
Matcher matcher = KUSTO_TIMESPAN_REGEX.matcher(str);
if (!matcher.matches()) {
throw new ParseException(String.format("Failed to parse timeout string as a timespan. Value: '%s'", str));
}
if ("-".equals(matcher.group(1))) {
throw new IllegalArgumentException(String.format("Negative timeouts are invalid. Value: '%s'", str));
}
String days = matcher.group(2);
if (days != null && !days.equals("0") && !days.equals("00")) {
return MAX_TIMEOUT_MS;
}
String timespanWithoutDays = "";
for (int i = 4; i <= 10; i++) {
if (matcher.group(i) != null) {
timespanWithoutDays += matcher.group(i);
}
}
return TimeUnit.NANOSECONDS.toMillis(LocalTime.parse(timespanWithoutDays).toNanoOfDay());
}