Skip to content

Commit ed606b9

Browse files
committed
fix(android-native): route milky webhook client through platform engine
1 parent 6f57b30 commit ed606b9

8 files changed

Lines changed: 61 additions & 3 deletions

File tree

acidify-milky/build.gradle.kts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,20 @@ kotlin {
2525
implementation(libs.ktor.serialization.kotlinx.json)
2626
implementation(libs.milky.types)
2727
}
28+
jvmMain.dependencies {
29+
implementation(libs.ktor.client.java)
30+
}
31+
mingwMain.dependencies {
32+
implementation(libs.ktor.client.winhttp)
33+
}
34+
appleMain.dependencies {
35+
implementation(libs.ktor.client.darwin)
36+
}
37+
linuxMain.dependencies {
38+
implementation(libs.ktor.client.curl)
39+
}
40+
findByName("androidNativeArm64Main")?.dependencies {
41+
implementation(project(":android-https-native"))
42+
}
2843
}
29-
}
44+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
import org.ntqqrev.androidhttps.createAndroidNativePlatformHttpClient
6+
7+
internal actual fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit): HttpClient =
8+
createAndroidNativePlatformHttpClient(block)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
import io.ktor.client.engine.darwin.Darwin
6+
7+
internal actual fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit): HttpClient = HttpClient(Darwin, block)

acidify-milky/src/commonMain/kotlin/org/ntqqrev/acidify/milky/event/Webhook.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,10 @@ import io.ktor.server.plugins.di.*
1010
import kotlinx.coroutines.launch
1111
import org.ntqqrev.acidify.AbstractBot
1212
import org.ntqqrev.acidify.milky.MilkyContext
13+
import org.ntqqrev.acidify.milky.internal.createPlatformHttpClient
1314
import org.ntqqrev.milky.milkyJsonModule
1415

15-
val webhookClient = HttpClient {
16+
val webhookClient = createPlatformHttpClient {
1617
install(ContentNegotiation) {
1718
json(milkyJsonModule)
1819
}
@@ -41,4 +42,4 @@ fun Application.eventWebhook() = monitor.subscribe(ApplicationStarted) {
4142
}
4243
}
4344
}
44-
}
45+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
6+
internal expect fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit = {}): HttpClient
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
import io.ktor.client.engine.java.Java
6+
7+
internal actual fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit): HttpClient = HttpClient(Java, block)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
import io.ktor.client.engine.curl.Curl
6+
7+
internal actual fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit): HttpClient = HttpClient(Curl, block)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package org.ntqqrev.acidify.milky.internal
2+
3+
import io.ktor.client.HttpClient
4+
import io.ktor.client.HttpClientConfig
5+
import io.ktor.client.engine.winhttp.WinHttp
6+
7+
internal actual fun createPlatformHttpClient(block: HttpClientConfig<*>.() -> Unit): HttpClient = HttpClient(WinHttp, block)

0 commit comments

Comments
 (0)