-
Notifications
You must be signed in to change notification settings - Fork 71
/
error.go
64 lines (54 loc) · 2.06 KB
/
error.go
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
/*
* Copyright 2017 Baidu, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the
* License 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.
*/
// error.go - define the error types for BCE
package bce
const (
EACCESS_DENIED = "AccessDenied"
EINAPPROPRIATE_JSON = "InappropriateJSON"
EINTERNAL_ERROR = "InternalError"
EINVALID_ACCESS_KEY_ID = "InvalidAccessKeyId"
EINVALID_HTTP_AUTH_HEADER = "InvalidHTTPAuthHeader"
EINVALID_HTTP_REQUEST = "InvalidHTTPRequest"
EINVALID_URI = "InvalidURI"
EMALFORMED_JSON = "MalformedJSON"
EINVALID_VERSION = "InvalidVersion"
EOPT_IN_REQUIRED = "OptInRequired"
EPRECONDITION_FAILED = "PreconditionFailed"
EREQUEST_EXPIRED = "RequestExpired"
ESIGNATURE_DOES_NOT_MATCH = "SignatureDoesNotMatch"
)
// BceError abstracts the error for BCE
type BceError interface {
error
}
// BceClientError defines the error struct for the client when making request
type BceClientError struct{ Message string }
func (b *BceClientError) Error() string { return b.Message }
func NewBceClientError(msg string) *BceClientError { return &BceClientError{msg} }
// BceServiceError defines the error struct for the BCE service when receiving response
type BceServiceError struct {
Code string
Message string
RequestId string
StatusCode int
}
func (b *BceServiceError) Error() string {
ret := "[Code: " + b.Code
ret += "; Message: " + b.Message
ret += "; RequestId: " + b.RequestId + "]"
return ret
}
func NewBceServiceError(code, msg, reqId string, status int) *BceServiceError {
return &BceServiceError{code, msg, reqId, status}
}