diff --git a/bsky/bluesky.go b/bsky/bluesky.go index 33aa06a..616a2f4 100644 --- a/bsky/bluesky.go +++ b/bsky/bluesky.go @@ -99,7 +99,7 @@ func (bluesky *Bluesky) CreateSession(cfg *BlueskyConfig) error { return errors.New("unable to authenticate, check handle/password") } -func (bluesky *Bluesky) RefreshSession() error { +func (bluesky *Bluesky) RefreshSession() { resp := new(BSkySessionResponse) bluesky.sling.New().Set("Authorization", fmt.Sprintf("Bearer %s", bluesky.Cfg.RefreshJWT)). @@ -109,10 +109,13 @@ func (bluesky *Bluesky) RefreshSession() error { bluesky.Cfg.RefreshJWT = resp.RefreshJWT PersistAuthSession(bluesky.Cfg) bluesky.sling.Set("Authorization", fmt.Sprintf("Bearer %s", bluesky.Cfg.AccessJWT)) - return nil + return + } + if resp.Error != "" { + log.Fatalf("RefreshSession error: %s", resp.Message) } - return bluesky.CreateSession(bluesky.Cfg) + bluesky.CreateSession(bluesky.Cfg) } func (bluesky *Bluesky) CheckSessionValid() { @@ -126,7 +129,7 @@ func (bluesky *Bluesky) CheckSessionValid() { bluesky.sling.New().Set("Authorization", fmt.Sprintf("Bearer %s", bluesky.Cfg.AccessJWT)). Get("/xrpc/app.bsky.actor.getProfile").QueryStruct(params).Receive(resp, resp) - if resp.Error == "ExpiredToken" { + if resp.Error != "" { bluesky.RefreshSession() } } @@ -279,7 +282,6 @@ func (bluesky *Bluesky) FetchPost(did string, rkey string) FetchedPost { }{ URIs: fmt.Sprintf("at://%s/app.bsky.feed.post/%s", did, rkey), } - bluesky.sling.New().Base("https://public.api.bsky.app"). - Get("/xrpc/app.bsky.feed.getPosts").QueryStruct(¶ms).Receive(resp, resp) + bluesky.sling.New().Get("/xrpc/app.bsky.feed.getPosts").QueryStruct(¶ms).Receive(resp, resp) return resp.Posts[0] }