···
···
idResolver *atproto.Resolver
-
func New(oauth *oauth.OAuth, db *db.DB, idResolver *atproto.Resolver) Middleware {
type middlewareFunc func(http.Handler) http.Handler
func AuthMiddleware(o *oauth.OAuth) middlewareFunc {
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
···
sess, err := o.ResumeSession(r)
-
log.Println("failed to resume session, redirecting...", "err", err, "url", r.URL.String())
-
log.Printf("session is nil, redirecting...")
···
func (mw Middleware) ResolveIdent() middlewareFunc {
excluded := []string{"favicon.ico"}
return func(next http.Handler) http.Handler {
···
id, err := mw.idResolver.ResolveIdent(r.Context(), didOrHandle)
-
log.Println("failed to resolve did/handle:", err)
w.WriteHeader(http.StatusNotFound)
views.NotFoundPage(views.NotFoundPageParams{}).Render(r.Context(), w)
···
func (mw Middleware) LoadUnreadNotificationCount() middlewareFunc {
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
user := mw.oauth.GetUser(r)
···
count, err := db.GetUnreadNotificationCount(mw.db, user.Did)
-
log.Println("failed to get notification count:", err)
ctx := context.WithValue(r.Context(), UnreadNotificationCountCtxKey, count)
···
···
idResolver *atproto.Resolver
+
func New(oauth *oauth.OAuth, db *db.DB, idResolver *atproto.Resolver, logger *slog.Logger) Middleware {
type middlewareFunc func(http.Handler) http.Handler
func AuthMiddleware(o *oauth.OAuth) middlewareFunc {
+
l := o.Logger.With("middleware", "AuthMiddleware")
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
···
sess, err := o.ResumeSession(r)
+
l.Error("failed to resume session, redirecting...", "err", err, "url", r.URL.String())
+
l.Warn("session is nil, redirecting...")
···
func (mw Middleware) ResolveIdent() middlewareFunc {
+
l := mw.logger.With("middleware", "ResolveIdent")
excluded := []string{"favicon.ico"}
return func(next http.Handler) http.Handler {
···
id, err := mw.idResolver.ResolveIdent(r.Context(), didOrHandle)
+
l.Error("failed to resolve did/handle", "err", err)
w.WriteHeader(http.StatusNotFound)
views.NotFoundPage(views.NotFoundPageParams{}).Render(r.Context(), w)
···
func (mw Middleware) LoadUnreadNotificationCount() middlewareFunc {
+
l := mw.logger.With("middleware", "LoadUnreadNotificationCount")
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
user := mw.oauth.GetUser(r)
···
count, err := db.GetUnreadNotificationCount(mw.db, user.Did)
+
l.Error("failed to get notification count", "err", err)
ctx := context.WithValue(r.Context(), UnreadNotificationCountCtxKey, count)