diff options
| author | Guillermo Serrahima <dev@vylion.com> | 2026-03-17 15:56:17 +0100 |
|---|---|---|
| committer | Guillermo Serrahima <dev@vylion.com> | 2026-03-17 15:56:17 +0100 |
| commit | dd61c1d6c9e084e2a1aa266a538de11c48c762bc (patch) | |
| tree | 8cd0c261840563218381c444fa6e3b693d8fc76d /backend/main.go | |
| parent | 784fd55fb1b473a1d40911656008f099926c94a2 (diff) | |
| download | llostre-dd61c1d6c9e084e2a1aa266a538de11c48c762bc.tar.xz llostre-dd61c1d6c9e084e2a1aa266a538de11c48c762bc.zip | |
added some logging and caching
Diffstat (limited to 'backend/main.go')
| -rw-r--r-- | backend/main.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/backend/main.go b/backend/main.go index d5fbb91..f6851da 100644 --- a/backend/main.go +++ b/backend/main.go @@ -21,6 +21,7 @@ var ( frontendURL string sessionsMutex sync.RWMutex sessions = make(map[string]*auth.OAuthState) + notesCache *fetchers.Cache ) func init() { @@ -51,6 +52,8 @@ func init() { logger = slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ Level: logLevel, })) + + notesCache = fetchers.NewCache() } func loginHandler(w http.ResponseWriter, r *http.Request) { @@ -266,6 +269,7 @@ func postsHandler(w http.ResponseWriter, r *http.Request) { logger.Debug("session public key", "key", session.KeyPair.PublicKey) } + // Check for access token refresh needsRefresh := time.Now().After(session.ExpiresAt) pds := session.PDS refreshToken := session.RefreshToken @@ -289,7 +293,8 @@ func postsHandler(w http.ResponseWriter, r *http.Request) { sessionsMutex.Unlock() } - posts, err := fetchers.FetchAppBskyFeedPosts(session.DID, session.PDS, session.AccessToken, session.KeyPair) + // Fetch app.bsky.feed.post records + posts, err := fetchers.FetchAppBskyFeedPosts(logger, session.DID, session.PDS, session.AccessToken, session.KeyPair, notesCache) if err != nil { logger.Error("fetching app.bsky.feed.posts failed", "error", err) http.Error(w, err.Error(), http.StatusInternalServerError) |
