equal
deleted
inserted
replaced
5 */ |
5 */ |
6 |
6 |
7 package madon |
7 package madon |
8 |
8 |
9 import ( |
9 import ( |
10 "fmt" |
|
11 "strconv" |
|
12 "strings" |
|
13 "time" |
|
14 |
|
15 "github.com/sendgrid/rest" |
10 "github.com/sendgrid/rest" |
16 ) |
11 ) |
17 |
12 |
18 // GetCurrentInstance returns current instance information |
13 // GetCurrentInstance returns current instance information |
19 func (mc *Client) GetCurrentInstance() (*Instance, error) { |
14 func (mc *Client) GetCurrentInstance() (*Instance, error) { |
43 if err := mc.apiCall("v1/instance/activity", rest.Get, nil, nil, nil, &activity); err != nil { |
38 if err := mc.apiCall("v1/instance/activity", rest.Get, nil, nil, nil, &activity); err != nil { |
44 return nil, err |
39 return nil, err |
45 } |
40 } |
46 return activity, nil |
41 return activity, nil |
47 } |
42 } |
48 |
|
49 /* Activity time handling */ |
|
50 |
|
51 // UnmarshalJSON handles deserialization for custom ActivityTime type |
|
52 func (act *ActivityTime) UnmarshalJSON(b []byte) error { |
|
53 s, err := strconv.ParseInt(strings.Trim(string(b), "\""), 10, 64) |
|
54 if err != nil { |
|
55 return err |
|
56 } |
|
57 if s == 0 { |
|
58 act.Time = time.Time{} |
|
59 return nil |
|
60 } |
|
61 act.Time = time.Unix(s, 0) |
|
62 return nil |
|
63 } |
|
64 |
|
65 // MarshalJSON handles serialization for custom ActivityTime type |
|
66 func (act *ActivityTime) MarshalJSON() ([]byte, error) { |
|
67 return []byte(fmt.Sprintf("\"%d\"", act.Unix())), nil |
|
68 } |
|