1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
package gitlab
import (
"errors"
"fmt"
"net/http"
)
var (
_ error = (*ClientError)(nil)
)
func (x *ClientError) Error() string {
p := x.Path
if p == "" {
p = "<unknown>"
}
return fmt.Sprintf("HTTP status code: %d for path %s", x.StatusCode, p)
}
func IsForbidden(err error) bool {
var e *ClientError
if !errors.As(err, &e) {
return false
}
return e.StatusCode == http.StatusForbidden
}
func IsUnauthorized(err error) bool {
var e *ClientError
if !errors.As(err, &e) {
return false
}
return e.StatusCode == http.StatusUnauthorized
}
func IsNotFound(err error) bool {
var e *ClientError
if !errors.As(err, &e) {
return false
}
return e.StatusCode == http.StatusNotFound
}
|