Monorepo for Tangled tangled.org
2

Configure Feed

Select the types of activity you want to include in your feed.

1package xrpcclient 2 3import ( 4 "errors" 5 "net/http" 6 7 indigoxrpc "github.com/bluesky-social/indigo/xrpc" 8) 9 10var ( 11 ErrXrpcUnsupported = errors.New("xrpc not supported on this knot") 12 ErrXrpcUnauthorized = errors.New("unauthorized xrpc request") 13 ErrXrpcForbidden = errors.New("forbidden xrpc request") 14 ErrXrpcFailed = errors.New("xrpc request failed") 15 ErrXrpcInvalid = errors.New("invalid xrpc request") 16) 17 18// produces a more manageable error 19func HandleXrpcErr(err error) error { 20 if err == nil { 21 return nil 22 } 23 24 var xrpcerr *indigoxrpc.Error 25 if ok := errors.As(err, &xrpcerr); !ok { 26 return ErrXrpcInvalid 27 } 28 29 switch xrpcerr.StatusCode { 30 case http.StatusNotFound: 31 return ErrXrpcUnsupported 32 case http.StatusUnauthorized: 33 return ErrXrpcUnauthorized 34 case http.StatusForbidden: 35 return ErrXrpcForbidden 36 default: 37 return ErrXrpcFailed 38 } 39}