12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package apmodels
- import (
- "fmt"
- )
- // WebfingerResponse represents a Webfinger response.
- type WebfingerResponse struct {
- Aliases []string `json:"aliases"`
- Subject string `json:"subject"`
- Links []Link `json:"links"`
- }
- // Link represents a Webfinger response Link entity.
- type Link struct {
- Rel string `json:"rel"`
- Type string `json:"type"`
- Href string `json:"href"`
- }
- // MakeWebfingerResponse will create a new Webfinger response.
- func MakeWebfingerResponse(account string, inbox string, host string) WebfingerResponse {
- accountIRI := MakeLocalIRIForAccount(account)
- return WebfingerResponse{
- Subject: fmt.Sprintf("acct:%s@%s", account, host),
- Aliases: []string{
- accountIRI.String(),
- },
- Links: []Link{
- {
- Rel: "self",
- Type: "application/activity+json",
- Href: accountIRI.String(),
- },
- {
- Rel: "http://webfinger.net/rel/profile-page",
- Type: "text/html",
- Href: accountIRI.String(),
- },
- },
- }
- }
|