Skip to content

Errors go to stdout and don't produce nonzero exit status #148

@timdp

Description

@timdp

This construct occurs a bunch of times:

if err != nil {
	fmt.Println(err)
	return nil
}

But:

  1. This prints errors to stdout instead of stderr (similar to curl stdout goes to oauth2l stderr #146).
  2. It swallows the error rather than making the program exit with a nonzero status.

Both things make oauth2l unsuitable for use in scripts in particular.

A naive fix would be to replace all these constructs with panic(err.Error()) but it would make more sense to rethrow (well, re-return) errors and add a global error handler that calls os.Exit(code), optionally with a specific code per error type.

I'd be willing to add the panic calls in a PR but I don't think I understand the codebase enough to start a more aggressive refactor.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions