in dubbo-error-code-inspector/src/main/java/org/apache/dubbo/errorcode/linktest/LinkTestingForkJoinTask.java [60:104]
protected Map<String, Boolean> compute() {
if (end - start >= THRESHOLD) {
int middle = (start + end) / 2;
LinkTestingForkJoinTask left = new LinkTestingForkJoinTask(start, middle, url);
LinkTestingForkJoinTask right = new LinkTestingForkJoinTask(middle, end, url);
left.fork();
right.fork();
Map<String, Boolean> leftR = left.join();
Map<String, Boolean> rightR = right.join();
Map<String, Boolean> result = new HashMap<>(end - start);
result.putAll(leftR);
result.putAll(rightR);
return result;
} else {
HashMap<String, Boolean> result = new HashMap<>();
for (int i = start; i < end; i++) {
HttpGet getRequest = new HttpGet(url.get(i));
getRequest.addHeader("Accept-Language", "zh-CN");
try {
try (CloseableHttpResponse resp = HTTP_CLIENT.execute(getRequest)) {
result.put(url.get(i), resp.getStatusLine().getStatusCode() == 200);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return result;
}
}