Skip to content

Commit 87f51dc

Browse files
committed
make download cli respect header command if one exists
1 parent 31c3824 commit 87f51dc

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/main/kotlin/com/coder/gateway/sdk/CoderCLIManager.kt

+13
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,19 @@ class CoderCLIManager @JvmOverloads constructor(
101101
fun downloadCLI(): Boolean {
102102
val etag = getBinaryETag()
103103
val conn = remoteBinaryURL.openConnection() as HttpURLConnection
104+
if (settings.headerCommand.isNotBlank()){
105+
// get headers
106+
val headersFromHeaderCommand =CoderRestClient.getHeaders(deploymentURL,settings.headerCommand)
107+
for ((key, value) in headersFromHeaderCommand) {
108+
conn.setRequestProperty(key, value)
109+
}
110+
}
104111
if (etag != null) {
105112
logger.info("Found existing binary at $localBinaryPath; calculated hash as $etag")
106113
conn.setRequestProperty("If-None-Match", "\"$etag\"")
107114
}
108115
conn.setRequestProperty("Accept-Encoding", "gzip")
116+
109117
if (conn is HttpsURLConnection) {
110118
conn.sslSocketFactory = coderSocketFactory(settings)
111119
conn.hostnameVerifier = CoderHostnameVerifier(settings.tlsAlternateHostname)
@@ -172,13 +180,17 @@ class CoderCLIManager @JvmOverloads constructor(
172180
*/
173181
fun login(token: String): String {
174182
logger.info("Storing CLI credentials in $coderConfigPath")
183+
logger.info("Storing CLI credentials in $coderConfigPath")
184+
175185
return exec(
176186
"login",
177187
deploymentURL.toString(),
178188
"--token",
179189
token,
180190
"--global-config",
181191
coderConfigPath.toString(),
192+
"--header-command",
193+
settings.headerCommand
182194
)
183195
}
184196

@@ -364,6 +376,7 @@ class CoderCLIManager @JvmOverloads constructor(
364376
private fun exec(vararg args: String): String {
365377
val stdout = ProcessExecutor()
366378
.command(localBinaryPath.toString(), *args)
379+
.environment("CODER_HEADER_COMMAND",settings.headerCommand)
367380
.exitValues(0)
368381
.readOutput(true)
369382
.execute()

0 commit comments

Comments
 (0)