Skip to content

Commit d1ca7d1

Browse files
committed
Addressing code review comments
1 parent c4aa8cb commit d1ca7d1

File tree

4 files changed

+14
-24
lines changed

4 files changed

+14
-24
lines changed

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/artifacts/ManifestFetcher.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.artifacts
55

66
import com.intellij.openapi.util.text.StringUtil
77
import com.intellij.util.io.DigestUtil
8-
import com.intellij.util.io.HttpRequests
98
import software.amazon.awssdk.utils.UserHomeDirectoryUtils
109
import software.aws.toolkits.core.utils.exists
1110
import software.aws.toolkits.core.utils.getLogger
1211
import software.aws.toolkits.core.utils.readText
12+
import software.aws.toolkits.jetbrains.core.getETagFromUrl
1313
import software.aws.toolkits.jetbrains.core.getTextFromUrl
1414
import software.aws.toolkits.jetbrains.core.saveFileFromUrl
1515
import software.aws.toolkits.jetbrains.services.amazonq.project.manifest.ManifestManager
@@ -97,12 +97,7 @@ class ManifestFetcher {
9797

9898
private fun getManifestETagFromUrl() : String? {
9999
try {
100-
val actualETag = HttpRequests.head(lspManifestUrl)
101-
102-
.userAgent("AWS Toolkit for JetBrains")
103-
.connect { request ->
104-
request.connection.headerFields["ETag"]?.firstOrNull().orEmpty()
105-
}
100+
val actualETag = getETagFromUrl(lspManifestUrl)
106101
return actualETag.trim('"')
107102
}
108103
catch (e: Exception) {

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/project/manifest/ManifestManager.kt

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonq.project.manifest
55

6-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
76
import com.fasterxml.jackson.annotation.JsonProperty
7+
import com.fasterxml.jackson.databind.DeserializationFeature
88
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
99
import com.fasterxml.jackson.module.kotlin.readValue
1010
import com.intellij.openapi.util.SystemInfo
@@ -18,10 +18,9 @@ class ManifestManager {
1818
val currentVersion = "0.1.32"
1919
val currentOs = getOs()
2020
private val arch = CpuArch.CURRENT
21-
private val mapper = jacksonObjectMapper()
21+
private val mapper = jacksonObjectMapper().apply { configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) }
2222

2323
data class TargetContent(
24-
@JsonIgnoreProperties(ignoreUnknown = true)
2524
@JsonProperty("filename")
2625
val filename: String? = null,
2726
@JsonProperty("url")
@@ -33,7 +32,6 @@ class ManifestManager {
3332
)
3433

3534
data class VersionTarget(
36-
@JsonIgnoreProperties(ignoreUnknown = true)
3735
@JsonProperty("platform")
3836
val platform: String? = null,
3937
@JsonProperty("arch")
@@ -42,38 +40,34 @@ class ManifestManager {
4240
val contents: List<TargetContent>? = emptyList(),
4341
)
4442

45-
data class RunTime(
46-
@JsonIgnoreProperties(ignoreUnknown = true)
43+
data class Runtime(
4744
@JsonProperty("name")
4845
val name: String? = null,
4946
@JsonProperty("version")
5047
val version: String? = null
5148
)
5249

5350
data class Capabilities(
54-
@JsonIgnoreProperties(ignoreUnknown = true)
5551
@JsonProperty("name")
5652
val name: String? = null,
5753
@JsonProperty("version")
5854
val version: String? = null
5955
)
6056

6157
data class Protocol(
62-
@JsonIgnoreProperties(ignoreUnknown = true)
6358
@JsonProperty("name")
6459
val name: String?= null,
6560
@JsonProperty("version")
6661
val version: String? = null
6762
)
6863

6964
data class Version(
70-
@JsonIgnoreProperties(ignoreUnknown = true)
7165
@JsonProperty("serverVersion")
7266
val serverVersion: String? = null,
7367
@JsonProperty("isDelisted")
7468
val isDelisted: Boolean? = null,
7569
@JsonProperty("runtime")
76-
val runtime: RunTime? = null,
70+
val runtime: Runtime? = null,
7771
@JsonProperty("capabilities")
7872
val capabilities: List<Capabilities>? = emptyList(),
7973
@JsonProperty("protocol")
@@ -85,7 +79,6 @@ class ManifestManager {
8579
)
8680

8781
data class Manifest(
88-
@JsonIgnoreProperties(ignoreUnknown = true)
8982
@JsonProperty("manifestSchemaVersion")
9083
val manifestSchemaVersion: String? = null,
9184
@JsonProperty("artifactId")

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/DefaultRemoteResourceResolverProvider.kt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package software.aws.toolkits.jetbrains.core
55

66
import com.intellij.openapi.application.PathManager
7-
import com.intellij.util.io.HttpRequests
87
import com.intellij.util.io.createDirectories
98
import software.aws.toolkits.core.utils.DefaultRemoteResourceResolver
109
import software.aws.toolkits.core.utils.UrlFetcher
@@ -41,11 +40,7 @@ class DefaultRemoteResourceResolverProvider : RemoteResourceResolverProvider {
4140
}
4241

4342
override fun getETag(url: String): String =
44-
HttpRequests.head(url)
45-
.userAgent("AWS Toolkit for JetBrains")
46-
.connect { request ->
47-
request.connection.headerFields["ETag"]?.firstOrNull().orEmpty()
48-
}
43+
getETagFromUrl(url)
4944
}
5045
}
5146
}

plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/HttpUtils.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,10 @@ fun writeJsonToUrl(url: String, jsonString: String, indicator: ProgressIndicator
2424
request.write(jsonString)
2525
request.readString(indicator)
2626
}
27+
28+
fun getETagFromUrl(url: String) : String =
29+
HttpRequests.head(url)
30+
.userAgent("AWS Toolkit for JetBrains")
31+
.connect { request ->
32+
request.connection.headerFields["ETag"]?.firstOrNull().orEmpty()
33+
}

0 commit comments

Comments
 (0)