gitea/routers/web
zeripath 93ab90743d
Prevent loop if there is an error in GetNotificationCount (#19799)
If the context is cancelled `.NotificationUnreadCount` in a template can
cause an infinite loop with `ctx.ServerError()` being called, which
creates a template that then calls `.NotificationUnreadCount` calling
`GetNotificationCount()` with the cancelled context resulting in an
error that calls `ctx.ServerError`... and so on...

This PR simply stops calling `ctx.ServerError` in the error handler code
for `.NotificationUnreadCount` as we have already started rendering and
so it is too late to call `ctx.ServerError`. Additionally we skip
logging the error if it's a context cancelled error.

Fix #19793

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2022-05-25 08:51:53 +08:00
..
admin
auth
dev
events
explore
feed
healthcheck
misc
org
repo
user Prevent loop if there is an error in GetNotificationCount (#19799) 2022-05-25 08:51:53 +08:00
auth_windows.go
auth.go
base.go
goget.go
home.go
metrics.go
nodeinfo.go
swagger_json.go
web.go
webfinger.go