11package com.coder.toolbox.sdk
22
33import com.coder.toolbox.CoderToolboxContext
4- import com.coder.toolbox.sdk.interceptors.Interceptors
54import com.coder.toolbox.util.CoderHostnameVerifier
65import com.coder.toolbox.util.coderSocketFactory
76import com.coder.toolbox.util.coderTrustManagers
87import com.jetbrains.toolbox.api.remoteDev.connection.ProxyAuth
98import okhttp3.Credentials
9+ import okhttp3.Interceptor
1010import okhttp3.OkHttpClient
11- import java.net.URL
1211import javax.net.ssl.X509TrustManager
1312
1413object CoderHttpClientBuilder {
1514 fun build (
1615 context : CoderToolboxContext ,
17- pluginVersion : String ,
18- url : URL ,
19- token : String? ,
16+ interceptors : List <Interceptor >
2017 ): OkHttpClient {
2118 val settings = context.settingsStore.readOnly()
2219
@@ -46,20 +43,14 @@ object CoderHttpClientBuilder {
4643 .build()
4744 }
4845
49- if (context.settingsStore.requireTokenAuth) {
50- if (token.isNullOrBlank()) {
51- throw IllegalStateException (" Token is required for $url deployment" )
52- }
53- builder = builder.addInterceptor(Interceptors .tokenAuth(token))
54- }
55-
56- return builder
57- .sslSocketFactory(socketFactory, trustManagers[0 ] as X509TrustManager )
46+ builder.sslSocketFactory(socketFactory, trustManagers[0 ] as X509TrustManager )
5847 .hostnameVerifier(CoderHostnameVerifier (settings.tls.altHostname))
5948 .retryOnConnectionFailure(true )
60- .addInterceptor(Interceptors .userAgent(pluginVersion))
61- .addInterceptor(Interceptors .externalHeaders(context, url))
62- .addInterceptor(Interceptors .logging(context))
63- .build()
49+
50+ interceptors.forEach { interceptor ->
51+ builder.addInterceptor(interceptor)
52+
53+ }
54+ return builder.build()
6455 }
6556}
0 commit comments