godev/internal/storage: return ErrObjectNotExist in GCSObject.NewReader Map cloud.google.com/go/storage.ErrObjectNotExist to the package's ErrObjectNotExist (matching FSObject.NewReader) so handlers return 404 instead of 500 when a GCS object is missing. Change-Id: Iabe1428776cc2e98c5b3b5d9b9e999f905c8cc1b Reviewed-on: https://go-review.googlesource.com/c/telemetry/+/848286 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Hongxiang Jiang <hxjiang@golang.org> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/godev/internal/storage/storage.go b/godev/internal/storage/storage.go index c91d73d..a96585e 100644 --- a/godev/internal/storage/storage.go +++ b/godev/internal/storage/storage.go
@@ -111,7 +111,11 @@ } func (o *GCSObject) NewReader(ctx context.Context) (io.ReadCloser, error) { - return o.ObjectHandle.NewReader(ctx) + r, err := o.ObjectHandle.NewReader(ctx) + if errors.Is(err, storage.ErrObjectNotExist) { + return nil, ErrObjectNotExist + } + return r, err } func (o *GCSObject) NewWriter(ctx context.Context) (io.WriteCloser, error) {