diff --git a/src/main/kotlin/dev/usbharu/hideout/Application.kt b/src/main/kotlin/dev/usbharu/hideout/Application.kt index 0d33b97d..6952fe31 100644 --- a/src/main/kotlin/dev/usbharu/hideout/Application.kt +++ b/src/main/kotlin/dev/usbharu/hideout/Application.kt @@ -22,6 +22,7 @@ import io.ktor.serialization.jackson.* import io.ktor.server.application.* import org.jetbrains.exposed.sql.Database import org.koin.ktor.ext.inject +import java.lang.Compiler.enable import java.util.* fun main(args: Array): Unit = io.ktor.server.netty.EngineMain.main(args) @@ -49,7 +50,7 @@ fun Application.module() { HttpClient(CIO) { install(ContentNegotiation) { - jackson(ContentType.Application.Activity) { + jackson { enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY) setSerializationInclusion(JsonInclude.Include.NON_EMPTY) configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) diff --git a/src/main/kotlin/dev/usbharu/hideout/service/ActivityPubUserService.kt b/src/main/kotlin/dev/usbharu/hideout/service/ActivityPubUserService.kt index b870c6dc..d4f9d18c 100644 --- a/src/main/kotlin/dev/usbharu/hideout/service/ActivityPubUserService.kt +++ b/src/main/kotlin/dev/usbharu/hideout/service/ActivityPubUserService.kt @@ -2,6 +2,7 @@ package dev.usbharu.hideout.service import dev.usbharu.hideout.ap.* import dev.usbharu.hideout.config.Config +import dev.usbharu.hideout.util.HttpUtil.Activity import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.plugins.* @@ -48,6 +49,7 @@ class ActivityPubUserService( val person = webFingerService.fetchUserModel(actor) ?: throw IllegalArgumentException("actor is not found") val inboxUrl = person.inbox ?: throw IllegalArgumentException("inbox is not found") httpClient.post(inboxUrl) { + contentType(ContentType.Application.Activity) setBody(Accept( name = "Follow", `object` = follow,