-
Notifications
You must be signed in to change notification settings - Fork 15
/
gen_FailToResolveHost.go
105 lines (86 loc) · 2.09 KB
/
gen_FailToResolveHost.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
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
// Code generated by gotemplate. DO NOT EDIT.
package exception
import (
"bytes"
"encoding/json"
"reflect"
"strconv"
"github.com/eosspark/eos-go/log"
)
// template type Exception(PARENT,CODE,WHAT)
var FailToResolveHostName = reflect.TypeOf(FailToResolveHost{}).Name()
type FailToResolveHost struct {
_HttpException
Elog log.Messages
}
func NewFailToResolveHost(parent _HttpException, message log.Message) *FailToResolveHost {
return &FailToResolveHost{parent, log.Messages{message}}
}
func (e FailToResolveHost) Code() int64 {
return 3200004
}
func (e FailToResolveHost) Name() string {
return FailToResolveHostName
}
func (e FailToResolveHost) What() string {
return "fail to resolve host"
}
func (e *FailToResolveHost) AppendLog(l log.Message) {
e.Elog = append(e.Elog, l)
}
func (e FailToResolveHost) GetLog() log.Messages {
return e.Elog
}
func (e FailToResolveHost) TopMessage() string {
for _, l := range e.Elog {
if msg := l.GetMessage(); len(msg) > 0 {
return msg
}
}
return e.String()
}
func (e FailToResolveHost) DetailMessage() string {
var buffer bytes.Buffer
buffer.WriteString(strconv.Itoa(int(e.Code())))
buffer.WriteByte(' ')
buffer.WriteString(e.Name())
buffer.Write([]byte{':', ' '})
buffer.WriteString(e.What())
buffer.WriteByte('\n')
for _, l := range e.Elog {
buffer.WriteByte('[')
buffer.WriteString(l.GetMessage())
buffer.Write([]byte{']', ' '})
buffer.WriteString(l.GetContext().String())
buffer.WriteByte('\n')
}
return buffer.String()
}
func (e FailToResolveHost) String() string {
return e.DetailMessage()
}
func (e FailToResolveHost) MarshalJSON() ([]byte, error) {
type Exception struct {
Code int64 `json:"code"`
Name string `json:"name"`
What string `json:"what"`
}
except := Exception{
Code: 3200004,
Name: FailToResolveHostName,
What: "fail to resolve host",
}
return json.Marshal(except)
}
func (e FailToResolveHost) Callback(f interface{}) bool {
switch callback := f.(type) {
case func(*FailToResolveHost):
callback(&e)
return true
case func(FailToResolveHost):
callback(e)
return true
default:
return false
}
}