private static void setupBasicAuth( OkHttpClient.Builder clientBuilder, ClientSession session, Optional<String> user, Optional<String> password) { if (user.isPresent() && password.isPresent()) { checkArgument(session.getServer().getScheme().equalsIgnoreCase("https"), "Authentication using username/password requires HTTPS to be enabled"); clientBuilder.addInterceptor(basicAuth(user.get(), password.get())); } }
private static void setupTokenAuth( OkHttpClient.Builder clientBuilder, ClientSession session, Optional<String> accessToken) { if (accessToken.isPresent()) { checkArgument(session.getServer().getScheme().equalsIgnoreCase("https"), "Authentication using an access token requires HTTPS to be enabled"); clientBuilder.addInterceptor(tokenAuth(accessToken.get())); } } }
public BenchmarkDriver(BenchmarkResultsStore resultsStore, ClientSession clientSession, Iterable<BenchmarkQuery> queries, int warm, int runs, boolean debug, int maxFailures, Optional<HostAndPort> socksProxy) { this.resultsStore = requireNonNull(resultsStore, "resultsStore is null"); this.clientSession = requireNonNull(clientSession, "clientSession is null"); this.queries = ImmutableList.copyOf(requireNonNull(queries, "queries is null")); queryRunner = new BenchmarkQueryRunner(warm, runs, debug, maxFailures, clientSession.getServer(), socksProxy); }
@Test public void testServerHostPort() { ClientOptions options = new ClientOptions(); options.server = "localhost:8888"; ClientSession session = options.toClientSession(); assertEquals(session.getServer().toString(), "http://localhost:8888"); }
@Test public void testServerHttpUri() { ClientOptions options = new ClientOptions(); options.server = "http://localhost/foo"; ClientSession session = options.toClientSession(); assertEquals(session.getServer().toString(), "http://localhost/foo"); }
@Test public void testServerHttpsUri() { ClientOptions options = new ClientOptions(); options.server = "https://localhost/foo"; ClientSession session = options.toClientSession(); assertEquals(session.getServer().toString(), "https://localhost/foo"); }
@Test public void testServerHostOnly() { ClientOptions options = new ClientOptions(); options.server = "localhost"; ClientSession session = options.toClientSession(); assertEquals(session.getServer().toString(), "http://localhost:80"); }
@Test public void testDefault() { ClientSession session = new ClientOptions().toClientSession(); assertEquals(session.getServer().toString(), "http://localhost:8080"); assertEquals(session.getSource(), "presto-cli"); }
checkArgument(session.getServer().getScheme().equalsIgnoreCase("https"), "Authentication using Kerberos requires HTTPS to be enabled"); setupKerberos(
private Builder(ClientSession clientSession) { requireNonNull(clientSession, "clientSession is null"); server = clientSession.getServer(); user = clientSession.getUser(); source = clientSession.getSource(); traceToken = clientSession.getTraceToken(); clientTags = clientSession.getClientTags(); clientInfo = clientSession.getClientInfo(); catalog = clientSession.getCatalog(); schema = clientSession.getSchema(); path = clientSession.getPath(); timeZone = clientSession.getTimeZone(); locale = clientSession.getLocale(); resourceEstimates = clientSession.getResourceEstimates(); properties = clientSession.getProperties(); preparedStatements = clientSession.getPreparedStatements(); transactionId = clientSession.getTransactionId(); clientRequestTimeout = clientSession.getClientRequestTimeout(); }
private static void setupBasicAuth( OkHttpClient.Builder clientBuilder, ClientSession session, Optional<String> user, Optional<String> password) { if (user.isPresent() && password.isPresent()) { checkArgument(session.getServer().getScheme().equalsIgnoreCase("https"), "Authentication using username/password requires HTTPS to be enabled"); clientBuilder.addInterceptor(basicAuth(user.get(), password.get())); } }
private static void setupTokenAuth( OkHttpClient.Builder clientBuilder, ClientSession session, Optional<String> accessToken) { if (accessToken.isPresent()) { checkArgument(session.getServer().getScheme().equalsIgnoreCase("https"), "Authentication using an access token requires HTTPS to be enabled"); clientBuilder.addInterceptor(tokenAuth(accessToken.get())); } } }
public static ClientSession withSessionProperties(ClientSession session, Map<String, String> sessionProperties) { Map<String, String> properties = new HashMap<>(session.getProperties()); properties.putAll(sessionProperties); return new ClientSession( session.getServer(), session.getUser(), session.getSource(), session.getCatalog(), session.getSchema(), session.getTimeZoneId(), session.getLocale(), properties, session.getTransactionId(), session.isDebug(), session.getClientRequestTimeout()); }
public static ClientSession withCatalogAndSchema(ClientSession session, String catalog, String schema) { return new ClientSession( session.getServer(), session.getUser(), session.getSource(), catalog, schema, session.getTimeZoneId(), session.getLocale(), session.getProperties(), session.getTransactionId(), session.isDebug(), session.getClientRequestTimeout()); }
public static ClientSession stripTransactionId(ClientSession session) { return new ClientSession( session.getServer(), session.getUser(), session.getSource(), session.getCatalog(), session.getSchema(), session.getTimeZoneId(), session.getLocale(), session.getProperties(), null, session.isDebug(), session.getClientRequestTimeout()); }
public static ClientSession withProperties(ClientSession session, Map<String, String> properties) { return new ClientSession( session.getServer(), session.getUser(), session.getSource(), session.getCatalog(), session.getSchema(), session.getTimeZoneId(), session.getLocale(), properties, session.getTransactionId(), session.isDebug(), session.getClientRequestTimeout()); }
public static ClientSession withTransactionId(ClientSession session, String transactionId) { return new ClientSession( session.getServer(), session.getUser(), session.getSource(), session.getCatalog(), session.getSchema(), session.getTimeZoneId(), session.getLocale(), session.getProperties(), transactionId, session.isDebug(), session.getClientRequestTimeout()); }
private static Request buildQueryRequest(ClientSession session, String query) { Request.Builder builder = preparePost() .setUri(uriBuilderFrom(session.getServer()).replacePath("/v1/statement").build()) .setBodyGenerator(createStaticBodyGenerator(query, UTF_8)); if (session.getUser() != null) { builder.setHeader(PrestoHeaders.PRESTO_USER, session.getUser()); } if (session.getSource() != null) { builder.setHeader(PrestoHeaders.PRESTO_SOURCE, session.getSource()); } if (session.getCatalog() != null) { builder.setHeader(PrestoHeaders.PRESTO_CATALOG, session.getCatalog()); } if (session.getSchema() != null) { builder.setHeader(PrestoHeaders.PRESTO_SCHEMA, session.getSchema()); } builder.setHeader(PrestoHeaders.PRESTO_TIME_ZONE, session.getTimeZoneId()); builder.setHeader(PrestoHeaders.PRESTO_LANGUAGE, session.getLocale().toLanguageTag()); builder.setHeader(USER_AGENT, USER_AGENT_VALUE); Map<String, String> property = session.getProperties(); for (Entry<String, String> entry : property.entrySet()) { builder.addHeader(PrestoHeaders.PRESTO_SESSION, entry.getKey() + "=" + entry.getValue()); } builder.setHeader(PrestoHeaders.PRESTO_TRANSACTION_ID, session.getTransactionId() == null ? "NONE" : session.getTransactionId()); return builder.build(); }
private static Request buildQueryRequest(ClientSession session, String query) { Request.Builder builder = preparePost() .setUri(uriBuilderFrom(session.getServer()).replacePath("/v1/execute").build()) .setBodyGenerator(createStaticBodyGenerator(query, UTF_8)); if (session.getUser() != null) { builder.setHeader(PrestoHeaders.PRESTO_USER, session.getUser()); } if (session.getSource() != null) { builder.setHeader(PrestoHeaders.PRESTO_SOURCE, session.getSource()); } if (session.getCatalog() != null) { builder.setHeader(PrestoHeaders.PRESTO_CATALOG, session.getCatalog()); } if (session.getSchema() != null) { builder.setHeader(PrestoHeaders.PRESTO_SCHEMA, session.getSchema()); } builder.setHeader(PrestoHeaders.PRESTO_TIME_ZONE, session.getTimeZoneId()); builder.setHeader(USER_AGENT, USER_AGENT_VALUE); return builder.build(); }