Skip to content

Commit 05fe61c

Browse files
authored
fix(internal/trace): use xerrors.As for trace (#4813)
Based on #4797, we should use xerrors.As for googleapi errors.
1 parent 9423095 commit 05fe61c

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

internal/trace/trace.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"fmt"
2020

2121
"go.opencensus.io/trace"
22+
"golang.org/x/xerrors"
2223
"google.golang.org/api/googleapi"
2324
"google.golang.org/genproto/googleapis/rpc/code"
2425
"google.golang.org/grpc/status"
@@ -42,7 +43,8 @@ func EndSpan(ctx context.Context, err error) {
4243
// toStatus interrogates an error and converts it to an appropriate
4344
// OpenCensus status.
4445
func toStatus(err error) trace.Status {
45-
if err2, ok := err.(*googleapi.Error); ok {
46+
var err2 *googleapi.Error
47+
if ok := xerrors.As(err, &err2); ok {
4648
return trace.Status{Code: httpStatusCodeToOCCode(err2.Code), Message: err2.Message}
4749
} else if s, ok := status.FromError(err); ok {
4850
return trace.Status{Code: int32(s.Code()), Message: s.Message()}

0 commit comments

Comments
 (0)