// Copyright 2022 Google LLC. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package gensupport import ( "errors" "github.com/googleapis/gax-go/v2/apierror" "google.golang.org/api/googleapi" ) // WrapError creates an [apierror.APIError] from err, wraps it in err, and // returns err. If err is not a [googleapi.Error] (or a // [google.golang.org/grpc/status.Status]), it returns err without modification. func WrapError(err error) error { var herr *googleapi.Error apiError, ok := apierror.ParseError(err, false) if ok && errors.As(err, &herr) { herr.Wrap(apiError) } return err }