From 1ede54ddf6dfd2d4ba039eb7e23b74bcac65b643 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Wed, 8 Jun 2022 20:38:03 +0200 Subject: [feature] More consistent API error handling (#637) * update templates * start reworking api error handling * update template * return AP status at web endpoint if negotiated * start making api error handling much more consistent * update account endpoints to new error handling * use new api error handling in admin endpoints * go fmt ./... * use api error logic in app * use generic error handling in auth * don't export generic error handler * don't defer clearing session * user nicer error handling on oidc callback handler * tidy up the sign in handler * tidy up the token handler * use nicer error handling in blocksget * auth emojis endpoint * fix up remaining api endpoints * fix whoopsie during login flow * regenerate swagger docs * change http error logging to debug --- internal/processing/federation/getfollowers.go | 4 ++-- internal/processing/federation/getfollowing.go | 4 ++-- internal/processing/federation/getoutbox.go | 4 ++-- internal/processing/federation/getstatus.go | 4 ++-- internal/processing/federation/getstatusreplies.go | 4 ++-- internal/processing/federation/getuser.go | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) (limited to 'internal/processing/federation') diff --git a/internal/processing/federation/getfollowers.go b/internal/processing/federation/getfollowers.go index a49037397..6c54dbd50 100644 --- a/internal/processing/federation/getfollowers.go +++ b/internal/processing/federation/getfollowers.go @@ -42,7 +42,7 @@ func (p *processor) GetFollowers(ctx context.Context, requestedUsername string, requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } blocked, err := p.db.IsBlocked(ctx, requestedAccount.ID, requestingAccount.ID, true) @@ -51,7 +51,7 @@ func (p *processor) GetFollowers(ctx context.Context, requestedUsername string, } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } requestedAccountURI, err := url.Parse(requestedAccount.URI) diff --git a/internal/processing/federation/getfollowing.go b/internal/processing/federation/getfollowing.go index a38c049fd..6b1afae92 100644 --- a/internal/processing/federation/getfollowing.go +++ b/internal/processing/federation/getfollowing.go @@ -42,7 +42,7 @@ func (p *processor) GetFollowing(ctx context.Context, requestedUsername string, requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } blocked, err := p.db.IsBlocked(ctx, requestedAccount.ID, requestingAccount.ID, true) @@ -51,7 +51,7 @@ func (p *processor) GetFollowing(ctx context.Context, requestedUsername string, } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } requestedAccountURI, err := url.Parse(requestedAccount.URI) diff --git a/internal/processing/federation/getoutbox.go b/internal/processing/federation/getoutbox.go index 455f427f3..4e428c1ae 100644 --- a/internal/processing/federation/getoutbox.go +++ b/internal/processing/federation/getoutbox.go @@ -43,7 +43,7 @@ func (p *processor) GetOutbox(ctx context.Context, requestedUsername string, pag requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } // authorize the request: @@ -53,7 +53,7 @@ func (p *processor) GetOutbox(ctx context.Context, requestedUsername string, pag return nil, gtserror.NewErrorInternalError(err) } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } var data map[string]interface{} diff --git a/internal/processing/federation/getstatus.go b/internal/processing/federation/getstatus.go index 2cc37071e..ef77d6c4f 100644 --- a/internal/processing/federation/getstatus.go +++ b/internal/processing/federation/getstatus.go @@ -42,7 +42,7 @@ func (p *processor) GetStatus(ctx context.Context, requestedUsername string, req requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } // authorize the request: @@ -53,7 +53,7 @@ func (p *processor) GetStatus(ctx context.Context, requestedUsername string, req } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } // get the status out of the database here diff --git a/internal/processing/federation/getstatusreplies.go b/internal/processing/federation/getstatusreplies.go index 984f3a407..3a2c9d944 100644 --- a/internal/processing/federation/getstatusreplies.go +++ b/internal/processing/federation/getstatusreplies.go @@ -44,7 +44,7 @@ func (p *processor) GetStatusReplies(ctx context.Context, requestedUsername stri requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } // authorize the request: @@ -55,7 +55,7 @@ func (p *processor) GetStatusReplies(ctx context.Context, requestedUsername stri } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } // get the status out of the database here diff --git a/internal/processing/federation/getuser.go b/internal/processing/federation/getuser.go index f870baa12..63c83f3c5 100644 --- a/internal/processing/federation/getuser.go +++ b/internal/processing/federation/getuser.go @@ -54,7 +54,7 @@ func (p *processor) GetUser(ctx context.Context, requestedUsername string, reque if !p.federator.Handshaking(ctx, requestedUsername, requestingAccountURI) { requestingAccount, err := p.federator.GetRemoteAccount(ctx, requestedUsername, requestingAccountURI, false, false) if err != nil { - return nil, gtserror.NewErrorNotAuthorized(err) + return nil, gtserror.NewErrorUnauthorized(err) } blocked, err := p.db.IsBlocked(ctx, requestedAccount.ID, requestingAccount.ID, true) @@ -63,7 +63,7 @@ func (p *processor) GetUser(ctx context.Context, requestedUsername string, reque } if blocked { - return nil, gtserror.NewErrorNotAuthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) + return nil, gtserror.NewErrorUnauthorized(fmt.Errorf("block exists between accounts %s and %s", requestedAccount.ID, requestingAccount.ID)) } } -- cgit v1.2.3