46 lines
953 B
Go
46 lines
953 B
Go
package api
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// Extensions to let our API error types be used as "standard" errors.
|
|
|
|
func (o *Error) Error() string {
|
|
if o.Message != "" && o.Err != nil {
|
|
var b strings.Builder
|
|
b.WriteString(o.Message)
|
|
b.WriteString(": ")
|
|
b.WriteString(*o.Err)
|
|
return b.String()
|
|
} else if o.Message != "" {
|
|
return o.Message
|
|
} else if o.Err != nil {
|
|
return *o.Err
|
|
}
|
|
return fmt.Sprintf("<%s>", o.Code)
|
|
}
|
|
|
|
func (o *HealthCheck) Error() string {
|
|
if o.Status == HEALTHCHECKSTATUS_PASS {
|
|
// Make sure we aren't misusing HealthCheck responses.
|
|
panic("successful healthcheck used as an error!")
|
|
}
|
|
var message string
|
|
if o.Message != nil {
|
|
message = *o.Message
|
|
} else {
|
|
message = fmt.Sprintf("check %s failed", o.Name)
|
|
}
|
|
return fmt.Sprintf("health check failed: %s", message)
|
|
}
|
|
|
|
func (o *LineProtocolError) Error() string {
|
|
return o.Message
|
|
}
|
|
|
|
func (o *LineProtocolLengthError) Error() string {
|
|
return o.Message
|
|
}
|