From ad1745675407192fe1be7574441083a0ce649e4f Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Thu, 30 Mar 2023 21:18:15 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20accept=E3=81=AB=E3=82=B3=E3=83=B3?= =?UTF-8?q?=E3=83=86=E3=83=B3=E3=83=84=E3=82=BF=E3=82=A4=E3=83=97=E3=82=92?= =?UTF-8?q?=E6=8C=87=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/dev/usbharu/hideout/Application.kt | 3 ++- .../dev/usbharu/hideout/service/ActivityPubUserService.kt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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,