From 32f86a6b288ea7088397af59ad19c910d603c6bb Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Tue, 9 Sep 2025 13:41:31 +0100 Subject: [PATCH] xrpc,knotserver: refactor RefNotFound errors Change-Id: xokttnmwummmltwrpmssupstvvwktsov Signed-off-by: oppiliappan --- knotserver/xrpc/repo_archive.go | 5 +---- knotserver/xrpc/repo_blob.go | 5 +---- knotserver/xrpc/repo_diff.go | 10 ++-------- knotserver/xrpc/repo_languages.go | 5 +---- knotserver/xrpc/repo_log.go | 5 +---- knotserver/xrpc/repo_tree.go | 5 +---- xrpc/errors/errors.go | 5 +++++ 7 files changed, 12 insertions(+), 28 deletions(-) diff --git a/knotserver/xrpc/repo_archive.go b/knotserver/xrpc/repo_archive.go index 9550ceb0..f0a87547 100644 --- a/knotserver/xrpc/repo_archive.go +++ b/knotserver/xrpc/repo_archive.go @@ -40,10 +40,7 @@ func (x *Xrpc) RepoArchive(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff --git a/knotserver/xrpc/repo_blob.go b/knotserver/xrpc/repo_blob.go index 9769282e..d4cb6e27 100644 --- a/knotserver/xrpc/repo_blob.go +++ b/knotserver/xrpc/repo_blob.go @@ -39,10 +39,7 @@ func (x *Xrpc) RepoBlob(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff --git a/knotserver/xrpc/repo_diff.go b/knotserver/xrpc/repo_diff.go index 0219bc76..9dc49a18 100644 --- a/knotserver/xrpc/repo_diff.go +++ b/knotserver/xrpc/repo_diff.go @@ -22,20 +22,14 @@ func (x *Xrpc) RepoDiff(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff, err := gr.Diff() if err != nil { x.Logger.Error("getting diff", "error", err.Error()) - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("failed to generate diff"), - ), http.StatusInternalServerError) + writeError(w, xrpcerr.RefNotFoundError, http.StatusInternalServerError) return } diff --git a/knotserver/xrpc/repo_languages.go b/knotserver/xrpc/repo_languages.go index d63cbf8d..f6c426a5 100644 --- a/knotserver/xrpc/repo_languages.go +++ b/knotserver/xrpc/repo_languages.go @@ -25,10 +25,7 @@ func (x *Xrpc) RepoLanguages(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { x.Logger.Error("opening repo", "error", err.Error()) - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff --git a/knotserver/xrpc/repo_log.go b/knotserver/xrpc/repo_log.go index cde39485..e7ee7d56 100644 --- a/knotserver/xrpc/repo_log.go +++ b/knotserver/xrpc/repo_log.go @@ -32,10 +32,7 @@ func (x *Xrpc) RepoLog(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff --git a/knotserver/xrpc/repo_tree.go b/knotserver/xrpc/repo_tree.go index 20df113c..4e68026e 100644 --- a/knotserver/xrpc/repo_tree.go +++ b/knotserver/xrpc/repo_tree.go @@ -30,10 +30,7 @@ func (x *Xrpc) RepoTree(w http.ResponseWriter, r *http.Request) { gr, err := git.Open(repoPath, ref) if err != nil { x.Logger.Error("failed to open git repository", "error", err, "path", repoPath, "ref", ref) - writeError(w, xrpcerr.NewXrpcError( - xrpcerr.WithTag("RefNotFound"), - xrpcerr.WithMessage("repository or ref not found"), - ), http.StatusNotFound) + writeError(w, xrpcerr.RefNotFoundError, http.StatusNotFound) return } diff --git a/xrpc/errors/errors.go b/xrpc/errors/errors.go index fc12445c..ef3b6d16 100644 --- a/xrpc/errors/errors.go +++ b/xrpc/errors/errors.go @@ -61,6 +61,11 @@ var RepoNotFoundError = NewXrpcError( WithMessage("failed to access repository"), ) +var RefNotFoundError = NewXrpcError( + WithTag("RefNotFound"), + WithMessage("failed to access ref"), +) + var AuthError = func(err error) XrpcError { return NewXrpcError( WithTag("Auth"), -- 2.43.0