| 519 | } |
| 520 | |
| 521 | func (e *Error) Error() string { |
| 522 | var builder strings.Builder |
| 523 | if e.method != "" && e.url != "" { |
| 524 | _, _ = fmt.Fprintf(&builder, "%v %v: ", e.method, e.url) |
| 525 | } |
| 526 | _, _ = fmt.Fprintf(&builder, "unexpected status code %d: %s", e.statusCode, e.Message) |
| 527 | if e.Helper != "" { |
| 528 | _, _ = fmt.Fprintf(&builder, ": %s", e.Helper) |
| 529 | } |
| 530 | if e.Detail != "" { |
| 531 | _, _ = fmt.Fprintf(&builder, "\n\tError: %s", e.Detail) |
| 532 | } |
| 533 | for _, err := range e.Validations { |
| 534 | _, _ = fmt.Fprintf(&builder, "\n\t%s: %s", err.Field, err.Detail) |
| 535 | } |
| 536 | return builder.String() |
| 537 | } |
| 538 | |
| 539 | // NewTestError is a helper function to create a Error, setting the internal fields. It's generally only useful for |
| 540 | // testing. |