refactor: ParseError can carry an exit code
Reinstated use of ParseError for all error paths so as to retain existing semantics.
This commit is contained in:
@@ -5,11 +5,17 @@ package kong
|
||||
// It contains the parse Context that triggered the error.
|
||||
type ParseError struct {
|
||||
error
|
||||
Context *Context
|
||||
Context *Context
|
||||
exitCode int
|
||||
}
|
||||
|
||||
// Unwrap returns the original cause of the error.
|
||||
func (p *ParseError) Unwrap() error { return p.error }
|
||||
|
||||
// ExitCode returns the status that Kong should exit with if it fails with a ParseError.
|
||||
func (p *ParseError) ExitCode() int { return exitUsageError }
|
||||
func (p *ParseError) ExitCode() int {
|
||||
if p.exitCode == 0 {
|
||||
return exitNotOk
|
||||
}
|
||||
return p.exitCode
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user