aboutsummaryrefslogtreecommitdiffstats
path: root/library/go/yandex/tvm/tvmtool/errors.go
diff options
context:
space:
mode:
authorqrort <qrort@yandex-team.com>2022-11-30 23:47:12 +0300
committerqrort <qrort@yandex-team.com>2022-11-30 23:47:12 +0300
commit22f8ae0e3f5d68b92aecccdf96c1d841a0334311 (patch)
treebffa27765faf54126ad44bcafa89fadecb7a73d7 /library/go/yandex/tvm/tvmtool/errors.go
parent332b99e2173f0425444abb759eebcb2fafaa9209 (diff)
downloadydb-22f8ae0e3f5d68b92aecccdf96c1d841a0334311.tar.gz
validate canons without yatest_common
Diffstat (limited to 'library/go/yandex/tvm/tvmtool/errors.go')
-rw-r--r--library/go/yandex/tvm/tvmtool/errors.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/library/go/yandex/tvm/tvmtool/errors.go b/library/go/yandex/tvm/tvmtool/errors.go
new file mode 100644
index 0000000000..f0b08a9878
--- /dev/null
+++ b/library/go/yandex/tvm/tvmtool/errors.go
@@ -0,0 +1,61 @@
+package tvmtool
+
+import (
+ "fmt"
+
+ "a.yandex-team.ru/library/go/yandex/tvm"
+)
+
+// Generic TVM errors, before retry any request it check .Retriable field.
+type Error = tvm.Error
+
+const (
+ // ErrorAuthFail - auth failed, probably you provides invalid auth token
+ ErrorAuthFail = tvm.ErrorAuthFail
+ // ErrorBadRequest - tvmtool rejected our request, check .Msg for details
+ ErrorBadRequest = tvm.ErrorBadRequest
+ // ErrorOther - any other TVM-related errors, check .Msg for details
+ ErrorOther = tvm.ErrorOther
+)
+
+// Ticket validation error
+type TicketError = tvm.TicketError
+
+const (
+ TicketErrorInvalidScopes = tvm.TicketInvalidScopes
+ TicketErrorOther = tvm.TicketStatusOther
+)
+
+type PingCode uint32
+
+const (
+ PingCodeDie = iota
+ PingCodeWarning
+ PingCodeError
+ PingCodeOther
+)
+
+func (e PingCode) String() string {
+ switch e {
+ case PingCodeDie:
+ return "HttpDie"
+ case PingCodeWarning:
+ return "Warning"
+ case PingCodeError:
+ return "Error"
+ case PingCodeOther:
+ return "Other"
+ default:
+ return fmt.Sprintf("Unknown%d", e)
+ }
+}
+
+// Special ping error
+type PingError struct {
+ Code PingCode
+ Err error
+}
+
+func (e *PingError) Error() string {
+ return fmt.Sprintf("tvm: %s (code %s)", e.Err.Error(), e.Code)
+}