in asterixdb-jdbc/asterix-jdbc-driver/src/main/java/org/apache/asterix/jdbc/ADBProtocol.java [187:211]
private String pingImpl(int timeoutSeconds, boolean fetchDatabaseVersion) throws SQLException {
//TODO: support timeoutSeconds: -1 = use default, 0 = indefinite ?
HttpOptions httpOptions = new HttpOptions(queryEndpoint);
try (CloseableHttpResponse response = httpClient.execute(httpOptions, httpClientContext)) {
int statusCode = response.getStatusLine().getStatusCode();
switch (statusCode) {
case HttpStatus.SC_OK:
String databaseVersion = null;
if (fetchDatabaseVersion) {
Header serverHeader = response.getFirstHeader(HttpHeaders.SERVER);
if (serverHeader != null) {
databaseVersion = serverHeader.getValue();
}
}
return databaseVersion;
case HttpStatus.SC_UNAUTHORIZED:
case HttpStatus.SC_FORBIDDEN:
throw getErrorReporter().errorAuth();
default:
throw getErrorReporter().errorInConnection(String.valueOf(response.getStatusLine()));
}
} catch (IOException e) {
throw getErrorReporter().errorInConnection(e);
}
}