Skip to content

Commit ccb51c4

Browse files
committed
patch remove sigv4 sdk usage
1 parent 69e3e88 commit ccb51c4

File tree

4 files changed

+5
-61
lines changed

4 files changed

+5
-61
lines changed

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ import kotlinx.coroutines.launch
5252
import kotlinx.coroutines.time.withTimeout
5353
import kotlinx.coroutines.withContext
5454
import org.jetbrains.annotations.TestOnly
55-
import software.amazon.awssdk.services.codewhisperer.model.CodeWhispererException
5655
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
5756
import software.amazon.awssdk.services.codewhispererruntime.model.ThrottlingException
5857
import software.aws.toolkits.core.utils.WaiterTimeoutException
@@ -592,7 +591,7 @@ class CodeWhispererCodeScanManager(val project: Project) {
592591
}
593592
fun handleException(coroutineContext: CoroutineContext, e: Exception, scope: CodeWhispererConstants.CodeAnalysisScope): String {
594593
val errorMessage = when (e) {
595-
is CodeWhispererException -> e.awsErrorDetails().errorMessage() ?: message("codewhisperer.codescan.run_scan_error")
594+
is CodeWhispererRuntimeException -> e.awsErrorDetails().errorMessage() ?: message("codewhisperer.codescan.run_scan_error")
596595
is CodeWhispererCodeScanException -> getCodeScanExceptionMessage(e)
597596
is CodeWhispererCodeScanServerException -> getCodeScanServerExceptionMessage(e)
598597
is WaiterTimeoutException, is TimeoutCancellationException -> message("codewhisperer.codescan.scan_timed_out")
@@ -601,8 +600,8 @@ class CodeWhispererCodeScanManager(val project: Project) {
601600
else -> null
602601
} ?: message("codewhisperer.codescan.run_scan_error")
603602

604-
val errorCode = (e as? CodeWhispererException)?.awsErrorDetails()?.errorCode()
605-
val requestId = if (e is CodeWhispererException) e.requestId() else null
603+
val errorCode = (e as? CodeWhispererRuntimeException)?.awsErrorDetails()?.errorCode()
604+
val requestId = if (e is CodeWhispererRuntimeException) e.requestId() else null
606605

607606
if (!coroutineContext.isActive) {
608607
codeScanResultsPanel.setDefaultUI()
@@ -627,7 +626,7 @@ class CodeWhispererCodeScanManager(val project: Project) {
627626
}
628627

629628
val telemetryErrorMessage = when (e) {
630-
is CodeWhispererException -> e.awsErrorDetails().errorMessage() ?: message("codewhisperer.codescan.run_scan_error_telemetry")
629+
is CodeWhispererRuntimeException -> e.awsErrorDetails().errorMessage() ?: message("codewhisperer.codescan.run_scan_error_telemetry")
631630
is CodeWhispererCodeScanException -> when (e.message) {
632631
message("codewhisperer.codescan.no_file_open") -> message("codewhisperer.codescan.no_file_open_telemetry")
633632
message("codewhisperer.codescan.unsupported_language_error") -> message("codewhisperer.codescan.unsupported_language_error_telemetry")

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/service/CodeWhispererService.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ import kotlinx.coroutines.launch
3131
import kotlinx.coroutines.withContext
3232
import software.amazon.awssdk.core.exception.SdkServiceException
3333
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList
34-
import software.amazon.awssdk.services.codewhisperer.model.CodeWhispererException
3534
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
3635
import software.amazon.awssdk.services.codewhispererruntime.model.Completion
3736
import software.amazon.awssdk.services.codewhispererruntime.model.FileContext
@@ -377,11 +376,7 @@ class CodeWhispererService(private val cs: CoroutineScope) : Disposable {
377376
)
378377
}
379378
return@launch
380-
} else if (e is CodeWhispererException) {
381-
requestId = e.requestId() ?: ""
382-
sessionId = e.awsErrorDetails().sdkHttpResponse().headers().getOrDefault(KET_SESSION_ID, listOf(requestId))[0]
383-
displayMessage = e.awsErrorDetails().errorMessage() ?: message("codewhisperer.trigger.error.server_side")
384-
} else if (e is software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException) {
379+
} else if (e is CodeWhispererRuntimeException) {
385380
requestId = e.requestId() ?: ""
386381
sessionId = e.awsErrorDetails().sdkHttpResponse().headers().getOrDefault(KET_SESSION_ID, listOf(requestId))[0]
387382
displayMessage = e.awsErrorDetails().errorMessage() ?: message("codewhisperer.trigger.error.server_side")

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/service/CodeWhispererServiceNew.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ import kotlinx.coroutines.launch
3333
import kotlinx.coroutines.withContext
3434
import software.amazon.awssdk.core.exception.SdkServiceException
3535
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList
36-
import software.amazon.awssdk.services.codewhisperer.model.CodeWhispererException
3736
import software.amazon.awssdk.services.codewhispererruntime.model.CodeWhispererRuntimeException
3837
import software.amazon.awssdk.services.codewhispererruntime.model.Completion
3938
import software.amazon.awssdk.services.codewhispererruntime.model.FileContext
@@ -409,10 +408,6 @@ class CodeWhispererServiceNew(private val cs: CoroutineScope) : Disposable {
409408
latencyContext
410409
)
411410
return
412-
} else if (e is CodeWhispererException) {
413-
requestId = e.requestId().orEmpty()
414-
sessionId = e.awsErrorDetails().sdkHttpResponse().headers().getOrDefault(KET_SESSION_ID, listOf(requestId))[0]
415-
displayMessage = e.awsErrorDetails().errorMessage() ?: message("codewhisperer.trigger.error.server_side")
416411
} else if (e is CodeWhispererRuntimeException) {
417412
requestId = e.requestId().orEmpty()
418413
sessionId = e.awsErrorDetails().sdkHttpResponse().headers().getOrDefault(KET_SESSION_ID, listOf(requestId))[0]

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/util/CodeWhispererEndpointCustomizer.kt

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@
33

44
package software.aws.toolkits.jetbrains.services.codewhisperer.util
55

6-
import com.intellij.openapi.application.ApplicationManager
76
import com.intellij.util.net.HttpConfigurable
87
import com.intellij.util.net.ssl.CertificateManager
98
import com.intellij.util.proxy.CommonProxy
10-
import software.amazon.awssdk.auth.credentials.AnonymousCredentialsProvider
119
import software.amazon.awssdk.auth.credentials.AwsCredentialsProvider
1210
import software.amazon.awssdk.auth.token.credentials.SdkTokenProvider
1311
import software.amazon.awssdk.awscore.client.builder.AwsClientBuilder
@@ -19,14 +17,9 @@ import software.amazon.awssdk.core.retry.RetryPolicy
1917
import software.amazon.awssdk.http.SdkHttpRequest
2018
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient
2119
import software.amazon.awssdk.http.nio.netty.ProxyConfiguration
22-
import software.amazon.awssdk.services.codewhisperer.CodeWhispererClientBuilder
2320
import software.amazon.awssdk.services.codewhispererruntime.CodeWhispererRuntimeClientBuilder
2421
import software.amazon.awssdk.services.codewhispererstreaming.CodeWhispererStreamingAsyncClientBuilder
25-
import software.amazon.awssdk.services.cognitoidentity.CognitoIdentityClient
2622
import software.aws.toolkits.core.ToolkitClientCustomizer
27-
import software.aws.toolkits.jetbrains.core.AwsSdkClient
28-
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
29-
import software.aws.toolkits.jetbrains.services.telemetry.AwsCognitoCredentialsProvider
3023
import software.aws.toolkits.jetbrains.settings.CodeWhispererSettings
3124
import java.net.Proxy
3225
import java.net.URI
@@ -102,44 +95,6 @@ class CodeWhispererEndpointCustomizer : ToolkitClientCustomizer {
10295
.tlsTrustManagersProvider { arrayOf<TrustManager>(CertificateManager.getInstance().trustManager) }
10396
)
10497
}
105-
} else if (builder is CodeWhispererClientBuilder) {
106-
clientOverrideConfiguration.addExecutionInterceptor(
107-
object : ExecutionInterceptor {
108-
override fun modifyHttpRequest(context: Context.ModifyHttpRequest, executionAttributes: ExecutionAttributes): SdkHttpRequest {
109-
val requestBuilder = context.httpRequest().toBuilder()
110-
executionAttributes.attributes.forEach { (k, v) ->
111-
if (k.toString() != "OperationName") return@forEach
112-
if (v == "GetAccessToken") return requestBuilder.build()
113-
val token = CodeWhispererExplorerActionManager.getInstance().resolveAccessToken() ?: return requestBuilder.build()
114-
requestBuilder.putHeader(TOKEN_KEY_NAME, token)
115-
116-
val isMetricOptIn = CodeWhispererSettings.getInstance().isMetricOptIn()
117-
if (v == "ListRecommendations") {
118-
requestBuilder.putHeader(OPTOUT_KEY_NAME, (!isMetricOptIn).toString())
119-
}
120-
return requestBuilder.build()
121-
}
122-
return context.httpRequest()
123-
}
124-
}
125-
)
126-
127-
builder
128-
.region(CodeWhispererConstants.Config.Sigv4ClientRegion)
129-
130-
if (!ApplicationManager.getApplication().isUnitTestMode) {
131-
builder
132-
.credentialsProvider(
133-
AwsCognitoCredentialsProvider(
134-
CodeWhispererConstants.Config.CODEWHISPERER_IDPOOL_ID,
135-
CognitoIdentityClient.builder()
136-
.credentialsProvider(AnonymousCredentialsProvider.create())
137-
.region(CodeWhispererConstants.Config.Sigv4ClientRegion)
138-
.httpClient(AwsSdkClient.getInstance().sharedSdkClient())
139-
.build()
140-
)
141-
)
142-
}
14398
}
14499
}
145100

0 commit comments

Comments
 (0)