forked from timostamm/protobuf-ts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
twitch-twirp-error-code.ts
142 lines (122 loc) · 4.52 KB
/
twitch-twirp-error-code.ts
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
// Copyright 2018 Twitch Interactive, Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may not
// use this file except in compliance with the License. A copy of the License is
// located at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, either express or implied. See the License
// for the specific language governing permissions and limitations under
// the License.
/**
* See https://twitchtv.github.io/twirp/docs/spec_v5.html#error-codes
*
* Names and descriptions from [twirp / errors.go](https://github.com/twitchtv/twirp/blob/b2ecb97cf02a9bb55d730920f6a1cb5243899093/errors.go)
*
* Copyright 2018 by Twitch Interactive, Inc.
*/
export enum TwirpErrorCode {
/**
* The operation was cancelled.
*/
cancelled,
/**
* An unknown error occurred. For example, this can be used when handling
* errors raised by APIs that do not return any error information.
*/
unknown,
/**
* The client specified an invalid argument. This indicates arguments that
* are invalid regardless of the state of the system (i.e. a malformed
* file name, required argument, number out of range, etc.).
*/
invalid_argument,
/**
* The client sent a message which could not be decoded. This may mean that
* the message was encoded improperly or that the client and server have
* incompatible message definitions.
*/
malformed,
/**
* Operation expired before completion. For operations that change the state
* of the system, this error may be returned even if the operation has
* completed successfully (timeout).
*/
deadline_exceeded,
/**
* Some requested entity was not found.
*/
not_found,
/**
* The requested URL path wasn't routable to a Twirp service and method.
* This is returned by generated server code and should not be returned
* by application code (use "not_found" or "unimplemented" instead).
*/
bad_route,
/**
* An attempt to create an entity failed because one already exists.
*/
already_exists,
/**
* The caller does not have permission to execute the specified operation.
* It must not be used if the caller cannot be identified (use
* "unauthenticated" instead).
*/
permission_denied,
/**
* The request does not have valid authentication credentials for the
* operation.
*/
unauthenticated,
/**
* Some resource has been exhausted, perhaps a per-user quota, or
* perhaps the entire file system is out of space.
*/
resource_exhausted,
/**
* The operation was rejected because the system is not in a state
* required for the operation's execution. For example, doing an rmdir
* operation on a directory that is non-empty, or on a non-directory
* object, or when having conflicting read-modify-write on the same
* resource.
*/
failed_precondition,
/**
* The operation was aborted, typically due to a concurrency issue
* like sequencer check failures, transaction aborts, etc.
*/
aborted,
/**
* The operation was attempted past the valid range. For example, seeking
* or reading past end of a paginated collection. Unlike
* "invalid_argument", this error indicates a problem that may be fixed if
* the system state changes (i.e. adding more items to the collection).
* There is a fair bit of overlap between "failed_precondition" and
* "out_of_range". We recommend using "out_of_range" (the more specific
* error) when it applies so that callers who are iterating through a space
* can easily look for an "out_of_range" error to detect when they are done.
*/
out_of_range,
/**
* The operation is not implemented or not supported/enabled in this service.
*/
unimplemented,
/**
* When some invariants expected by the underlying system have been broken.
* In other words, something bad happened in the library or backend service.
* Twirp specific issues like wire and serialization problems are also
* reported as "internal" errors.
*/
internal,
/**
* The service is currently unavailable. This is most likely a transient
* condition and may be corrected by retrying with a backoff.
*/
unavailable,
/**
* The operation resulted in unrecoverable data loss or corruption.
*/
dataloss,
}