From 124dcd6050c11fb4bcdb6b88352b8f60de831e08 Mon Sep 17 00:00:00 2001 From: usbharu Date: Tue, 18 Feb 2025 16:52:42 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8B=95=E7=9A=84=E3=81=AB=E7=94=9F?= =?UTF-8?q?=E6=88=90=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WebFingerHostMetaLinkConfiguration.kt | 18 ++++++++++++++++++ .../interfaces/wellknown/HostmetaController.kt | 8 ++++---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/config/WebFingerHostMetaLinkConfiguration.kt diff --git a/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/config/WebFingerHostMetaLinkConfiguration.kt b/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/config/WebFingerHostMetaLinkConfiguration.kt new file mode 100644 index 00000000..3f572a5b --- /dev/null +++ b/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/config/WebFingerHostMetaLinkConfiguration.kt @@ -0,0 +1,18 @@ +package dev.usbharu.hideout.activitypub.config + +import dev.usbharu.hideout.activitypub.application.hostmeta.Link +import dev.usbharu.hideout.core.config.ApplicationConfig +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.Configuration + +@Configuration +class WebFingerHostMetaLinkConfiguration(private val applicationConfig: ApplicationConfig) { + @Bean + fun webFingerHostMetaLink(): Link { + return Link( + rel = "lrdd", + type = "application/jrd+json", + template = applicationConfig.url.resolve(".well-known/webfinger").toString() + "?resource={uri}" + ) + } +} \ No newline at end of file diff --git a/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/interfaces/wellknown/HostmetaController.kt b/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/interfaces/wellknown/HostmetaController.kt index 535355cc..4d78577b 100644 --- a/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/interfaces/wellknown/HostmetaController.kt +++ b/hideout/hideout-activitypub/src/main/kotlin/dev/usbharu/hideout/activitypub/interfaces/wellknown/HostmetaController.kt @@ -11,22 +11,22 @@ import org.springframework.web.bind.annotation.RestController @RestController @RequestMapping("/.well-known") -class HostmetaController { +class HostmetaController(private val linkList: List = emptyList()) { @Order(1) @GetMapping("/host-meta") fun hostmeta(): ResponseEntity { return ResponseEntity.ok().contentType(MediaType("application", "xrd+xml")) - .body(WebHostMetadata(listOf(Link("a", "b", "c")))) + .body(WebHostMetadata(linkList)) } @Order(2) @GetMapping("/host-meta", produces = ["application/json"]) fun hostmetaJson(): WebHostMetadata { - return WebHostMetadata(listOf(Link("a", "b", "c"))) + return WebHostMetadata(linkList) } @GetMapping("/host-meta.json", produces = ["application/json"]) fun hostmetaJson2(): WebHostMetadata { - return WebHostMetadata(listOf(Link("a", "b", "c"))) + return WebHostMetadata(linkList) } } \ No newline at end of file