From 2c819ace4e60be2677eb8496004e104a443f9f01 Mon Sep 17 00:00:00 2001 From: Ryo <36154873+RyoJerryYu@users.noreply.github.com> Date: Mon, 10 Jun 2024 14:11:28 +0800 Subject: [PATCH] feat: return not found error instead internal error for local file not exist (#3543) * chore: add `/.vscode` to `.gitignore` * feat: return not found instead of internal for resource * feat: check file not exist only if error not nil --- .gitignore | 5 ++++- server/router/api/v1/resource_service.go | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e19fa0630b450..c12f0f319bee0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,7 @@ bin/air dev-dist -dist \ No newline at end of file +dist + +# VSCode settings +/.vscode diff --git a/server/router/api/v1/resource_service.go b/server/router/api/v1/resource_service.go index a491992322afb..3004cf243ce15 100644 --- a/server/router/api/v1/resource_service.go +++ b/server/router/api/v1/resource_service.go @@ -198,6 +198,9 @@ func (s *APIV1Service) GetResourceBinary(ctx context.Context, request *v1pb.GetR file, err := os.Open(resourcePath) if err != nil { + if os.IsNotExist(err) { + return nil, status.Errorf(codes.NotFound, "file not found for resource: %s", request.Name) + } return nil, status.Errorf(codes.Internal, "failed to open the file: %v", err) } defer file.Close()