Skip to content

Commit

Permalink
Improve error message for invalid remotes (#2465)
Browse files Browse the repository at this point in the history
  • Loading branch information
emcfarlane committed Oct 4, 2023
1 parent ff74f32 commit ecf3366
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
9 changes: 6 additions & 3 deletions private/buf/bufcli/errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,10 @@ func NewTokenNotFoundError(tokenID string) error {
return fmt.Errorf("a token with ID %q does not exist", tokenID)
}

func NewUnimplementedRemoteError(err error, remote string, moduleIdentity string) error {
func NewInvalidRemoteError(err error, remote string, moduleIdentity string) error {
if connectErr, ok := asConnectError(err); ok {
err = connectErr.Unwrap()
}
return fmt.Errorf("%w. Are you sure %q (derived from module name %q) is a Buf Schema Registry?", err, remote, moduleIdentity)
}

Expand Down Expand Up @@ -181,10 +184,10 @@ func wrapError(err error) error {
}
return errors.New(msg)
}
return fmt.Errorf("Failure: %s", connectErr.Message())
err = connectErr.Unwrap()
}

// Error was not a Connect error
// Error was not a known Connect error, so return it as-is.
return fmt.Errorf("Failure: %w", err)
}

Expand Down
4 changes: 2 additions & 2 deletions private/buf/cmd/buf/command/mod/modprune/modprune.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ func run(
}),
)
if err != nil {
if connect.CodeOf(err) == connect.CodeUnimplemented && remote != bufconnect.DefaultRemote {
return bufcli.NewUnimplementedRemoteError(err, remote, config.ModuleIdentity.IdentityString())
if remote != bufconnect.DefaultRemote {
return bufcli.NewInvalidRemoteError(err, remote, config.ModuleIdentity.IdentityString())
}
return err
}
Expand Down
4 changes: 2 additions & 2 deletions private/buf/cmd/buf/command/mod/modupdate/modupdate.go
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@ func getDependencies(
}),
)
if err != nil {
if connect.CodeOf(err) == connect.CodeUnimplemented && remote != bufconnect.DefaultRemote {
return nil, bufcli.NewUnimplementedRemoteError(err, remote, moduleConfig.ModuleIdentity.IdentityString())
if remote != bufconnect.DefaultRemote {
return nil, bufcli.NewInvalidRemoteError(err, remote, moduleConfig.ModuleIdentity.IdentityString())
}
return nil, err
}
Expand Down

0 comments on commit ecf3366

Please sign in to comment.