mirror of https://github.com/usbharu/Hideout.git
feat: hostmetaのエンドポイントを追加
This commit is contained in:
parent
721cdc9d49
commit
6b5426a827
|
@ -0,0 +1,42 @@
|
|||
package dev.usbharu.hideout.controller.wellknown
|
||||
|
||||
import dev.usbharu.hideout.config.ApplicationConfig
|
||||
import org.intellij.lang.annotations.Language
|
||||
import org.springframework.http.HttpStatus
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
|
||||
@RestController
|
||||
class HostMetaController(private val applicationConfig: ApplicationConfig) {
|
||||
|
||||
val xml = //language=XML
|
||||
"""<?xml version="1.0" encoding="UTF-8"?>
|
||||
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
|
||||
<Link rel="lrdd" type="application/xrd+xml"
|
||||
template="${applicationConfig.url}/.well-known/webfinger?resource={uri}"/>
|
||||
</XRD>"""
|
||||
|
||||
@Language("JSON")
|
||||
val json = """{
|
||||
"links": [
|
||||
{
|
||||
"rel": "lrdd",
|
||||
"type": "application/jrd+json",
|
||||
"template": "${applicationConfig.url}/.well-known/webfinger?resource={uri}"
|
||||
}
|
||||
]
|
||||
}"""
|
||||
|
||||
@GetMapping("/.well-known/host-meta", produces = ["application/xml"])
|
||||
fun hostmeta(): ResponseEntity<String> {
|
||||
return ResponseEntity(xml, HttpStatus.OK)
|
||||
}
|
||||
|
||||
@GetMapping("/.well-known/host-meta.json", produces = ["application/json"])
|
||||
fun hostmetJson(): ResponseEntity<String> {
|
||||
return ResponseEntity(json, HttpStatus.OK)
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue