everything you need to create an atproto appview
1package server
2
3import (
4 "encoding/json"
5 "net/http"
6
7 "github.com/go-chi/chi/v5"
8)
9
10// xrpc router handles all xrpc methods
11func (s *Server) XRPCRouter() http.Handler {
12 r := chi.NewRouter()
13
14 return r
15}
16
17// helper to write xrpc errors
18func (s *Server) xrpcError(w http.ResponseWriter, errType, message string, status int) {
19 w.Header().Set("Content-Type", "application/json")
20 w.WriteHeader(status)
21 json.NewEncoder(w).Encode(map[string]any{
22 "error": errType,
23 "message": message,
24 })
25}