aboutsummaryrefslogtreecommitdiff
path: root/resources/webfinger.go
diff options
context:
space:
mode:
Diffstat (limited to 'resources/webfinger.go')
-rw-r--r--resources/webfinger.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/resources/webfinger.go b/resources/webfinger.go
index d936519..e7c47ea 100644
--- a/resources/webfinger.go
+++ b/resources/webfinger.go
@@ -1,5 +1,10 @@
package resources
+import (
+ "fmt"
+ "path"
+)
+
type Link struct {
Rel string `json:"rel"`
Type string `json:"type"`
@@ -11,3 +16,17 @@ type WebfingerResource struct {
Aliases []string `json:"aliases"`
Links []Link `json:"links"`
}
+
+func RenderWebfingerResource(name, domain string) (*WebfingerResource, error) {
+ rs := WebfingerResource{
+ // TODO clean up
+ Subject: fmt.Sprintf("acct:%s@%s", name, domain),
+ Aliases: []string{},
+ Links: []Link{{
+ Rel: "self",
+ Href: path.Join("https://", domain, "actors", name),
+ Type: "application/activity+json",
+ }},
+ }
+ return &rs, nil
+}