MCPcopy Create free account
hub / github.com/devld/go-drive / mapError

Function mapError

script/utils.go:390–440  ·  view source on GitHub ↗
(e error)

Source from the content-addressed store, hash-verified

388}
389
390func mapError(e error) error {
391 if e == nil {
392 return nil
393 }
394
395 if oe, ok := e.(*otto.Error); ok {
396 log.Println(oe.String())
397 }
398
399 if re, ok := e.(err.Error); ok {
400 return re
401 }
402 data := e.Error()
403 if !strings.HasPrefix(data, "Error: E:") {
404 return e
405 }
406
407 parts := strings.SplitN(data, ":", 5)
408 if len(parts) != 5 {
409 return e
410 }
411 typ := parts[2]
412 status := utils.ToInt(parts[3], 0)
413 msg := parts[4]
414
415 switch typ {
416 case "BAD_REQUEST":
417 return err.NewBadRequestError(msg)
418 case "NOT_FOUND":
419 if msg == "" {
420 return err.NewNotFoundError()
421 } else {
422 return err.NewNotFoundMessageError(msg)
423 }
424 case "NOT_ALLOWED":
425 if msg == "" {
426 return err.NewNotAllowedError()
427 } else {
428 return err.NewNotAllowedMessageError(msg)
429 }
430 case "UNSUPPORTED":
431 if msg == "" {
432 return err.NewUnsupportedError()
433 } else {
434 return err.NewUnsupportedMessageError(msg)
435 }
436 case "REMOTE_API":
437 return err.NewRemoteApiError(status, msg)
438 }
439 return e
440}

Callers 1

wrapVmRunFunction · 0.70

Calls 3

ToIntFunction · 0.92
StringMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected