mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-12-25 16:40:31 +00:00
Fix 410 Gone race on account deletes (#1507)
This commit is contained in:
parent
b8e1ab312d
commit
40b584c219
1 changed files with 10 additions and 0 deletions
|
@ -209,6 +209,16 @@ func (f *federator) AuthenticatePostInbox(ctx context.Context, w http.ResponseWr
|
|||
transport.WithFastfail(ctx), username, publicKeyOwnerURI, false,
|
||||
)
|
||||
if err != nil {
|
||||
if errors.Is(err, transport.ErrGone) {
|
||||
// This is the same case as the http.StatusGone check above.
|
||||
// It can happen here and not there because there's a race
|
||||
// where the sending server starts sending account deletion
|
||||
// notifications out, we start processing, the request above
|
||||
// succeeds, and *then* the profile is removed and starts
|
||||
// returning 410 Gone, at which point _this_ request fails.
|
||||
w.WriteHeader(http.StatusAccepted)
|
||||
return ctx, false, nil
|
||||
}
|
||||
return nil, false, fmt.Errorf("couldn't get requesting account %s: %s", publicKeyOwnerURI, err)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue