fork
Configure Feed
Select the types of activity you want to include in your feed.
Live video on the AT Protocol
fork
Configure Feed
Select the types of activity you want to include in your feed.
1package api
2
3import (
4 "context"
5 "encoding/json"
6 "fmt"
7 "net/http"
8
9 "github.com/julienschmidt/httprouter"
10 "stream.place/streamplace/pkg/atproto"
11 "stream.place/streamplace/pkg/log"
12)
13
14func (a *StreamplaceAPI) HandleDidJSON(ctx context.Context) httprouter.Handle {
15 return func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
16 host := a.CLI.PublicHost
17 didJSON := atproto.DIDDoc(host)
18 w.WriteHeader(200)
19 w.Header().Set("Content-Type", "application/json")
20 bs, err := json.Marshal(didJSON)
21 if err != nil {
22 log.Error(ctx, "could not marshal did json", "error", err)
23 return
24 }
25 if _, err := w.Write(bs); err != nil {
26 log.Error(ctx, "error writing response", "error", err)
27 }
28 }
29}
30
31func (a *StreamplaceAPI) HandleAtprotoDID(ctx context.Context) httprouter.Handle {
32 return func(w http.ResponseWriter, req *http.Request, params httprouter.Params) {
33 did := a.CLI.AtprotoDID
34 if did == "" {
35 did = fmt.Sprintf("did:web:%s", a.CLI.PublicHost)
36 }
37 _, err := fmt.Fprintf(w, "%s", did)
38 if err != nil {
39 log.Error(ctx, "error writing response", "error", err)
40 }
41 }
42}