opentofu/vendor/google.golang.org/appengine/errors.go
Paul Hinze 872371d21d deps: Capture deps w/ latest version of godep
Previous deps merge had been captured by an older version of godep,
updating godep and rerunning...

    godep save $(go list ./... | grep -v /vendor/)

...yielded this diff.

New `godep` also produced a warning to pin to the major Go version
instead of the minor one, which we do here as well.
2016-02-02 12:32:03 -06:00

47 lines
1.1 KiB
Go

// Copyright 2011 Google Inc. All rights reserved.
// Use of this source code is governed by the Apache 2.0
// license that can be found in the LICENSE file.
// This file provides error functions for common API failure modes.
package appengine
import (
"fmt"
"google.golang.org/appengine/internal"
)
// IsOverQuota reports whether err represents an API call failure
// due to insufficient available quota.
func IsOverQuota(err error) bool {
callErr, ok := err.(*internal.CallError)
return ok && callErr.Code == 4
}
// MultiError is returned by batch operations when there are errors with
// particular elements. Errors will be in a one-to-one correspondence with
// the input elements; successful elements will have a nil entry.
type MultiError []error
func (m MultiError) Error() string {
s, n := "", 0
for _, e := range m {
if e != nil {
if n == 0 {
s = e.Error()
}
n++
}
}
switch n {
case 0:
return "(0 errors)"
case 1:
return s
case 2:
return s + " (and 1 other error)"
}
return fmt.Sprintf("%s (and %d other errors)", s, n-1)
}