private String pingImpl()

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);
        }
    }