From f0376635ad4911b6679e443e9e809e317f11b0b3 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 5 Oct 2024 17:08:42 +0200 Subject: [PATCH] [chore] Change order of error checking after PostInbox (#3394) Check for malformed errors embedded inside error *first*, then check for gtserror.WithCode. --- internal/federation/federatingactor.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/internal/federation/federatingactor.go b/internal/federation/federatingactor.go index d19c97c3e..83cee4b04 100644 --- a/internal/federation/federatingactor.go +++ b/internal/federation/federatingactor.go @@ -170,12 +170,6 @@ func (f *federatingActor) PostInboxScheme(ctx context.Context, w http.ResponseWr // // Post the activity to the Actor's inbox and trigger side effects. if err := f.sideEffectActor.PostInbox(ctx, inboxID, activity); err != nil { - // Check if a function in the federatingDB - // has returned an explicit errWithCode for us. - if errWithCode, ok := err.(gtserror.WithCode); ok { - return false, errWithCode - } - // Check if it's a bad request because the // object or target props weren't populated, // or we failed parsing activity details. @@ -193,6 +187,12 @@ func (f *federatingActor) PostInboxScheme(ctx context.Context, w http.ResponseWr return false, gtserror.NewErrorBadRequest(errors.New(text), text) } + // Check if a function in the federatingDB + // has returned an explicit errWithCode for us. + if errWithCode, ok := err.(gtserror.WithCode); ok { + return false, errWithCode + } + // Default: there's been some real error. err := gtserror.Newf("error calling sideEffectActor.PostInbox: %w", err) return false, gtserror.NewErrorInternalError(err)