Skip to content

Commit 72ecd90

Browse files
committed
Fixed local bad uri error
1 parent 3c1dc66 commit 72ecd90

File tree

1 file changed

+25
-10
lines changed
  • ide-common/src/main/kotlin/org/digma/intellij/plugin/posthog

1 file changed

+25
-10
lines changed

ide-common/src/main/kotlin/org/digma/intellij/plugin/posthog/PostHogUtils.kt

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.intellij.openapi.diagnostic.Logger
44
import com.intellij.openapi.project.Project
55
import org.digma.intellij.plugin.log.Log
66
import org.digma.intellij.plugin.settings.SettingsState
7+
import java.lang.IllegalArgumentException
78
import java.net.URI
89
import java.net.http.HttpClient
910
import java.net.http.HttpRequest
@@ -18,8 +19,8 @@ internal fun getCachedToken(project: Project?): String? {
1819
return SettingsState.getInstance(project).posthogToken
1920
}
2021
internal fun getLatestToken(): String? {
21-
val url = urlToTokenFile() ?: return null
22-
val newToken = readTokenFromUrl(url) ?: return null
22+
val uri = getUriToTokenFile() ?: return null
23+
val newToken = readTokenFromUrl(uri) ?: return null
2324
return newToken
2425
}
2526

@@ -28,11 +29,11 @@ internal fun setCachedToken(project: Project, token: String){
2829
SettingsState.getInstance(project).fireChanged()
2930
}
3031

31-
private fun readTokenFromUrl(tokenFileUrl: String): String? {
32+
private fun readTokenFromUrl(tokenFileUri: URI): String? {
3233
val httpClient = HttpClient.newHttpClient()
3334
try {
3435
val response = httpClient.send(
35-
HttpRequest.newBuilder().GET().uri(URI.create(tokenFileUrl)).build(),
36+
HttpRequest.newBuilder().GET().uri(tokenFileUri).build(),
3637
HttpResponse.BodyHandlers.ofString()
3738
)
3839
if (response.statusCode() != 200) {
@@ -46,15 +47,29 @@ private fun readTokenFromUrl(tokenFileUrl: String): String? {
4647
return null
4748
}
4849

49-
private fun urlToTokenFile(): String? {
50+
private fun getUriToTokenFile(): URI? {
51+
val content: String?
5052
try {
51-
val content = object{}.javaClass.classLoader.getResource(POSTHOG_TOKEN_URL_RESOURCE_FILE_PATH)?.readText()
52-
if (content == null) {
53-
Log.log(LOGGER::warn, "Missing posthog token resource file")
54-
}
55-
return content
53+
content = object{}.javaClass.classLoader.getResource(POSTHOG_TOKEN_URL_RESOURCE_FILE_PATH)?.readText()
5654
} catch (e: Exception) {
5755
Log.warnWithException(LOGGER, e, "Failed to get posthog token resource file")
5856
return null
5957
}
58+
59+
if (content == null) {
60+
Log.log(LOGGER::warn, "Missing posthog token resource file")
61+
return null
62+
}
63+
64+
if (content.isBlank()) {
65+
Log.log(LOGGER::warn, "Empty posthog token resource file")
66+
return null
67+
}
68+
69+
return try{
70+
URI.create(content)
71+
} catch (e: IllegalArgumentException){
72+
Log.log(LOGGER::warn, "Content of posthog token resource file is not a valid uri")
73+
null
74+
}
6075
}

0 commit comments

Comments
 (0)