From 45a6e7a7c25dbdca72aefa78fbb7866396e854de Mon Sep 17 00:00:00 2001
From: Pavel Karpy
Date: Thu, 8 Dec 2022 19:34:52 +0300
Subject: [PATCH] [#369] status: Make errors return default messages
Use default messages in `Error` methods like in `ToStatusV2`.
Signed-off-by: Pavel Karpy
---
client/status/common.go | 22 ++++++++++---
client/status/container.go | 22 ++++++++++---
client/status/object.go | 66 +++++++++++++++++++++++++++++++-------
client/status/session.go | 22 ++++++++++---
4 files changed, 108 insertions(+), 24 deletions(-)
diff --git a/client/status/common.go b/client/status/common.go
index 3164f92f..3093e9b2 100644
--- a/client/status/common.go
+++ b/client/status/common.go
@@ -130,10 +130,17 @@ type SignatureVerification struct {
v2 status.Status
}
+const defaultSignatureVerificationMsg = "signature verification failed"
+
func (x SignatureVerification) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultSignatureVerificationMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(status.SignatureVerificationFail, status.GlobalizeCommonFail),
- x.v2.Message(),
+ msg,
)
}
@@ -153,7 +160,7 @@ func (x SignatureVerification) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(status.SignatureVerificationFail, status.GlobalizeCommonFail))
if x.v2.Message() == "" {
- x.v2.SetMessage("signature verification failed")
+ x.v2.SetMessage(defaultSignatureVerificationMsg)
}
return &x.v2
@@ -181,11 +188,13 @@ type NodeUnderMaintenance struct {
v2 status.Status
}
+const defaultNodeUnderMaintenanceMsg = "node is under maintenance"
+
// Error implements the error interface.
func (x NodeUnderMaintenance) Error() string {
msg := x.Message()
if msg == "" {
- msg = "node is under maintenance"
+ msg = defaultNodeUnderMaintenanceMsg
}
return errMessageStatusV2(
@@ -202,10 +211,15 @@ func (x *NodeUnderMaintenance) fromStatusV2(st *status.Status) {
// If the value was returned by FromStatusV2, returns the source message.
// Otherwise, returns message with
// - code: NODE_UNDER_MAINTENANCE;
-// - string message: written message via SetMessage;
+// - string message: written message via SetMessage or
+// "node is under maintenance" as a default message;
// - details: empty.
func (x NodeUnderMaintenance) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(status.NodeUnderMaintenance, status.GlobalizeCommonFail))
+ if x.v2.Message() == "" {
+ x.v2.SetMessage(defaultNodeUnderMaintenanceMsg)
+ }
+
return &x.v2
}
diff --git a/client/status/container.go b/client/status/container.go
index f7f6437f..f638b3fd 100644
--- a/client/status/container.go
+++ b/client/status/container.go
@@ -11,10 +11,17 @@ type ContainerNotFound struct {
v2 status.Status
}
+const defaultContainerNotFoundMsg = "container not found"
+
func (x ContainerNotFound) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultContainerNotFoundMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(container.StatusNotFound, container.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -31,7 +38,7 @@ func (x *ContainerNotFound) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ContainerNotFound) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(container.StatusNotFound, container.GlobalizeFail))
- x.v2.SetMessage("container not found")
+ x.v2.SetMessage(defaultContainerNotFoundMsg)
return &x.v2
}
@@ -42,10 +49,17 @@ type EACLNotFound struct {
v2 status.Status
}
+const defaultEACLNotFoundMsg = "eACL not found"
+
func (x EACLNotFound) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultEACLNotFoundMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(container.StatusEACLNotFound, container.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -62,6 +76,6 @@ func (x *EACLNotFound) fromStatusV2(st *status.Status) {
// - details: empty.
func (x EACLNotFound) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(container.StatusEACLNotFound, container.GlobalizeFail))
- x.v2.SetMessage("eACL not found")
+ x.v2.SetMessage(defaultEACLNotFoundMsg)
return &x.v2
}
diff --git a/client/status/object.go b/client/status/object.go
index 9e8c32bb..5adfc85c 100644
--- a/client/status/object.go
+++ b/client/status/object.go
@@ -11,10 +11,17 @@ type ObjectLocked struct {
v2 status.Status
}
+const defaultObjectLockedMsg = "object is locked"
+
func (x ObjectLocked) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultObjectLockedMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusLocked, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -31,7 +38,7 @@ func (x *ObjectLocked) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ObjectLocked) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusLocked, object.GlobalizeFail))
- x.v2.SetMessage("object is locked")
+ x.v2.SetMessage(defaultObjectLockedMsg)
return &x.v2
}
@@ -41,10 +48,17 @@ type LockNonRegularObject struct {
v2 status.Status
}
+const defaultLockNonRegularObjectMsg = "locking non-regular object is forbidden"
+
func (x LockNonRegularObject) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultLockNonRegularObjectMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusLockNonRegularObject, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -61,7 +75,7 @@ func (x *LockNonRegularObject) fromStatusV2(st *status.Status) {
// - details: empty.
func (x LockNonRegularObject) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusLockNonRegularObject, object.GlobalizeFail))
- x.v2.SetMessage("locking non-regular object is forbidden")
+ x.v2.SetMessage(defaultLockNonRegularObjectMsg)
return &x.v2
}
@@ -71,10 +85,17 @@ type ObjectAccessDenied struct {
v2 status.Status
}
+const defaultObjectAccessDeniedMsg = "access to object operation denied"
+
func (x ObjectAccessDenied) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultObjectAccessDeniedMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusAccessDenied, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -91,7 +112,7 @@ func (x *ObjectAccessDenied) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ObjectAccessDenied) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusAccessDenied, object.GlobalizeFail))
- x.v2.SetMessage("access to object operation denied")
+ x.v2.SetMessage(defaultObjectAccessDeniedMsg)
return &x.v2
}
@@ -112,10 +133,17 @@ type ObjectNotFound struct {
v2 status.Status
}
+const defaultObjectNotFoundMsg = "object not found"
+
func (x ObjectNotFound) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultObjectNotFoundMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusNotFound, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -132,7 +160,7 @@ func (x *ObjectNotFound) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ObjectNotFound) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusNotFound, object.GlobalizeFail))
- x.v2.SetMessage("object not found")
+ x.v2.SetMessage(defaultObjectNotFoundMsg)
return &x.v2
}
@@ -142,10 +170,17 @@ type ObjectAlreadyRemoved struct {
v2 status.Status
}
+const defaultObjectAlreadyRemovedMsg = "object already removed"
+
func (x ObjectAlreadyRemoved) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultObjectAlreadyRemovedMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusAlreadyRemoved, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -162,7 +197,7 @@ func (x *ObjectAlreadyRemoved) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ObjectAlreadyRemoved) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusAlreadyRemoved, object.GlobalizeFail))
- x.v2.SetMessage("object already removed")
+ x.v2.SetMessage(defaultObjectAlreadyRemovedMsg)
return &x.v2
}
@@ -173,10 +208,17 @@ type ObjectOutOfRange struct {
v2 status.Status
}
+const defaultObjectOutOfRangeMsg = "out of range"
+
func (x ObjectOutOfRange) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultObjectOutOfRangeMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(object.StatusOutOfRange, object.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -193,6 +235,6 @@ func (x *ObjectOutOfRange) fromStatusV2(st *status.Status) {
// - details: empty.
func (x ObjectOutOfRange) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(object.StatusOutOfRange, object.GlobalizeFail))
- x.v2.SetMessage("out of range")
+ x.v2.SetMessage(defaultObjectOutOfRangeMsg)
return &x.v2
}
diff --git a/client/status/session.go b/client/status/session.go
index da40bd73..5928dafc 100644
--- a/client/status/session.go
+++ b/client/status/session.go
@@ -11,10 +11,17 @@ type SessionTokenNotFound struct {
v2 status.Status
}
+const defaultSessionTokenNotFoundMsg = "session token not found"
+
func (x SessionTokenNotFound) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultSessionTokenNotFoundMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(session.StatusTokenNotFound, session.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -31,7 +38,7 @@ func (x *SessionTokenNotFound) fromStatusV2(st *status.Status) {
// - details: empty.
func (x SessionTokenNotFound) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(session.StatusTokenNotFound, session.GlobalizeFail))
- x.v2.SetMessage("session token not found")
+ x.v2.SetMessage(defaultSessionTokenNotFoundMsg)
return &x.v2
}
@@ -41,10 +48,17 @@ type SessionTokenExpired struct {
v2 status.Status
}
+const defaultSessionTokenExpiredMsg = "expired session token"
+
func (x SessionTokenExpired) Error() string {
+ msg := x.v2.Message()
+ if msg == "" {
+ msg = defaultSessionTokenExpiredMsg
+ }
+
return errMessageStatusV2(
globalizeCodeV2(session.StatusTokenExpired, session.GlobalizeFail),
- x.v2.Message(),
+ msg,
)
}
@@ -61,6 +75,6 @@ func (x *SessionTokenExpired) fromStatusV2(st *status.Status) {
// - details: empty.
func (x SessionTokenExpired) ToStatusV2() *status.Status {
x.v2.SetCode(globalizeCodeV2(session.StatusTokenExpired, session.GlobalizeFail))
- x.v2.SetMessage("expired session token")
+ x.v2.SetMessage(defaultSessionTokenExpiredMsg)
return &x.v2
}