Skip to content

Commit 7ca3a88

Browse files
committed
remove dependency on com.amazonaws.Protocol from HttpClientSettingsKey
1 parent 455ba17 commit 7ca3a88

File tree

4 files changed

+38
-9
lines changed

4 files changed

+38
-9
lines changed

src/main/java/net/snowflake/client/core/HttpClientSettingsKey.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
package net.snowflake.client.core;
66

7-
import com.amazonaws.Protocol;
87
import com.google.common.base.Strings;
98
import java.io.Serializable;
109

@@ -132,8 +131,8 @@ public String getNonProxyHosts() {
132131
return this.nonProxyHosts;
133132
}
134133

135-
public Protocol getProxyProtocol() {
136-
return this.proxyProtocol.equalsIgnoreCase("https") ? Protocol.HTTPS : Protocol.HTTP;
134+
public HttpProtocol getProxyProtocol() {
135+
return this.proxyProtocol.equalsIgnoreCase("https") ? HttpProtocol.HTTPS : HttpProtocol.HTTP;
137136
}
138137

139138
public Boolean getGzipDisabled() {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package net.snowflake.client.core;
2+
3+
public enum HttpProtocol {
4+
5+
HTTP("http"),
6+
7+
HTTPS("https");
8+
9+
private final String protocol;
10+
11+
HttpProtocol(String protocol) {
12+
this.protocol = protocol;
13+
}
14+
15+
@Override
16+
public String toString() {
17+
return protocol;
18+
}
19+
}

src/main/java/net/snowflake/client/core/HttpUtil.java

+13-2
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public static void closeExpiredAndIdleConnections() {
123123
*/
124124
public static void setProxyForS3(HttpClientSettingsKey key, ClientConfiguration clientConfig) {
125125
if (key != null && key.usesProxy()) {
126-
clientConfig.setProxyProtocol(key.getProxyProtocol());
126+
clientConfig.setProxyProtocol(toAwsProtocol(key.getProxyProtocol()));
127127
clientConfig.setProxyHost(key.getProxyHost());
128128
clientConfig.setProxyPort(key.getProxyPort());
129129
clientConfig.setNonProxyHosts(key.getNonProxyHosts());
@@ -135,6 +135,17 @@ public static void setProxyForS3(HttpClientSettingsKey key, ClientConfiguration
135135
}
136136
}
137137

138+
private static Protocol toAwsProtocol(HttpProtocol protocol) {
139+
switch (protocol) {
140+
case HTTP:
141+
return Protocol.HTTP;
142+
case HTTPS:
143+
return Protocol.HTTPS;
144+
default:
145+
throw new IllegalArgumentException("Unknown protocol: " + protocol);
146+
}
147+
}
148+
138149
/**
139150
* A static function to set S3 proxy params for sessionless connections using the proxy params
140151
* from the StageInfo
@@ -379,7 +390,7 @@ public static CloseableHttpClient buildHttpClient(
379390
new SnowflakeMutableProxyRoutePlanner(
380391
key.getProxyHost(),
381392
key.getProxyPort(),
382-
key.getProxyProtocol(),
393+
toAwsProtocol(key.getProxyProtocol()),
383394
key.getNonProxyHosts()));
384395
httpClientBuilder = httpClientBuilder.setProxy(proxy).setRoutePlanner(sdkProxyRoutePlanner);
385396
if (!Strings.isNullOrEmpty(key.getProxyUser())

src/test/java/net/snowflake/client/jdbc/CustomProxyLatestIT.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
import static org.hamcrest.MatcherAssert.assertThat;
1010
import static org.junit.Assert.assertTrue;
1111

12-
import com.amazonaws.Protocol;
1312
import java.io.File;
1413
import java.net.Authenticator;
1514
import java.net.PasswordAuthentication;
1615
import java.sql.*;
1716
import java.util.Properties;
1817
import net.snowflake.client.category.TestCategoryOthers;
1918
import net.snowflake.client.core.HttpClientSettingsKey;
19+
import net.snowflake.client.core.HttpProtocol;
2020
import net.snowflake.client.core.HttpUtil;
2121
import net.snowflake.client.core.SFSession;
2222
import net.snowflake.common.core.SqlState;
@@ -596,7 +596,7 @@ public void testSetJVMProxyHttp() throws SQLException {
596596
"jdbc:snowflake://s3testaccount.us-east-1.snowflakecomputing.com", props);
597597
SFSession sfSession = con.unwrap(SnowflakeConnectionV1.class).getSfSession();
598598
HttpClientSettingsKey clientSettingsKey = sfSession.getHttpClientKey();
599-
assertEquals(Protocol.HTTP, clientSettingsKey.getProxyProtocol());
599+
assertEquals(HttpProtocol.HTTP, clientSettingsKey.getProxyProtocol());
600600
con.close();
601601
}
602602

@@ -622,7 +622,7 @@ public void testSetJVMProxyHttps() throws SQLException {
622622
"jdbc:snowflake://s3testaccount.us-east-1.snowflakecomputing.com", props);
623623
SFSession sfSession = con.unwrap(SnowflakeConnectionV1.class).getSfSession();
624624
HttpClientSettingsKey clientSettingsKey = sfSession.getHttpClientKey();
625-
assertEquals(Protocol.HTTPS, clientSettingsKey.getProxyProtocol());
625+
assertEquals(HttpProtocol.HTTPS, clientSettingsKey.getProxyProtocol());
626626
con.close();
627627
}
628628

@@ -647,7 +647,7 @@ public void testSetJVMProxyDefaultHttps() throws SQLException {
647647
"jdbc:snowflake://s3testaccount.us-east-1.snowflakecomputing.com", props);
648648
SFSession sfSession = con.unwrap(SnowflakeConnectionV1.class).getSfSession();
649649
HttpClientSettingsKey clientSettingsKey = sfSession.getHttpClientKey();
650-
assertEquals(Protocol.HTTPS, clientSettingsKey.getProxyProtocol());
650+
assertEquals(HttpProtocol.HTTPS, clientSettingsKey.getProxyProtocol());
651651
con.close();
652652
}
653653

0 commit comments

Comments
 (0)