42 lines
902 B
Go
42 lines
902 B
Go
package errdefs
|
|
|
|
import (
|
|
fmt "fmt"
|
|
|
|
"github.com/containerd/typeurl"
|
|
"github.com/moby/buildkit/util/grpcerrors"
|
|
)
|
|
|
|
func init() {
|
|
typeurl.Register((*Subrequest)(nil), "github.com/moby/buildkit", "errdefs.Subrequest+json")
|
|
}
|
|
|
|
type UnsupportedSubrequestError struct {
|
|
Subrequest
|
|
error
|
|
}
|
|
|
|
func (e *UnsupportedSubrequestError) Error() string {
|
|
msg := fmt.Sprintf("unsupported request %s", e.Subrequest.Name)
|
|
if e.error != nil {
|
|
msg += ": " + e.error.Error()
|
|
}
|
|
return msg
|
|
}
|
|
|
|
func (e *UnsupportedSubrequestError) Unwrap() error {
|
|
return e.error
|
|
}
|
|
|
|
func (e *UnsupportedSubrequestError) ToProto() grpcerrors.TypedErrorProto {
|
|
return &e.Subrequest
|
|
}
|
|
|
|
func NewUnsupportedSubrequestError(name string) error {
|
|
return &UnsupportedSubrequestError{Subrequest: Subrequest{Name: name}}
|
|
}
|
|
|
|
func (v *Subrequest) WrapError(err error) error {
|
|
return &UnsupportedSubrequestError{error: err, Subrequest: *v}
|
|
}
|