MCPcopy Create free account
hub / github.com/dropbox/dbxcli / dropboxAPIErrorSummaryValue

Function dropboxAPIErrorSummaryValue

cmd/output.go:627–661  ·  view source on GitHub ↗
(err error)

Source from the content-addressed store, hash-verified

625}
626
627func dropboxAPIErrorSummaryValue(err error) (string, bool) {
628 if err == nil {
629 return "", false
630 }
631 value := reflect.ValueOf(err)
632 if !value.IsValid() {
633 return "", false
634 }
635 if value.Kind() == reflect.Pointer {
636 if value.IsNil() {
637 return "", false
638 }
639 value = value.Elem()
640 }
641 if value.Kind() != reflect.Struct {
642 return "", false
643 }
644
645 typ := value.Type()
646 if typ == reflect.TypeOf(dropbox.APIError{}) {
647 return err.Error(), true
648 }
649 if !strings.HasPrefix(typ.PkgPath(), "github.com/dropbox/dropbox-sdk-go-unofficial/") {
650 return "", false
651 }
652
653 field := value.FieldByName("APIError")
654 if summary, ok := dropboxAPIErrorFieldSummary(field); ok {
655 return summary, true
656 }
657 if strings.HasSuffix(typ.Name(), "APIError") {
658 return err.Error(), true
659 }
660 return "", false
661}
662
663func dropboxAPIErrorFieldSummary(field reflect.Value) (string, bool) {
664 if !field.IsValid() || field.Type() != reflect.TypeOf(dropbox.APIError{}) {

Callers 1

dropboxAPIErrorSummaryFunction · 0.85

Calls 2

ErrorMethod · 0.45

Tested by

no test coverage detected