2022-02-28 10:56:46 +00:00
|
|
|
package client
|
|
|
|
|
2022-06-27 07:39:20 +00:00
|
|
|
import (
|
2022-08-05 07:56:49 +00:00
|
|
|
"fmt"
|
2022-06-27 07:39:20 +00:00
|
|
|
)
|
|
|
|
|
2023-05-15 03:45:06 +00:00
|
|
|
var (
|
|
|
|
errMissingResponseField missingResponseFieldErr
|
|
|
|
)
|
|
|
|
|
|
|
|
type missingResponseFieldErr struct {
|
|
|
|
name string
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e missingResponseFieldErr) Error() string {
|
|
|
|
return fmt.Sprintf("missing %s field in the response", e.name)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e missingResponseFieldErr) Is(target error) bool {
|
|
|
|
switch target.(type) {
|
|
|
|
default:
|
|
|
|
return false
|
|
|
|
case missingResponseFieldErr, *missingResponseFieldErr:
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-08-05 07:56:49 +00:00
|
|
|
// returns error describing missing field with the given name.
|
|
|
|
func newErrMissingResponseField(name string) error {
|
2023-05-15 03:45:06 +00:00
|
|
|
return missingResponseFieldErr{name: name}
|
2022-08-05 07:56:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// returns error describing invalid field (according to the NeoFS protocol)
|
|
|
|
// with the given name and format violation err.
|
|
|
|
func newErrInvalidResponseField(name string, err error) error {
|
|
|
|
return fmt.Errorf("invalid %s field in the response: %w", name, err)
|
|
|
|
}
|