mirror of
https://github.com/singchia/frontier.git
synced 2025-10-06 08:46:57 +08:00
37 lines
861 B
Go
37 lines
861 B
Go
package repo
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
)
|
|
|
|
// key: serviceID; value: Service
|
|
type Service struct {
|
|
Service string `json:"service"`
|
|
FrontierID string `json:"frontier_id"`
|
|
Addr string `json:"addr"`
|
|
UpdateTime int64 `json:"update_time"`
|
|
}
|
|
|
|
func (service *Service) MarshalJSON() ([]byte, error) {
|
|
buffer := bytes.NewBufferString("{")
|
|
_, err := buffer.WriteString(fmt.Sprintf("service: %s, ", service.Service))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
_, err = buffer.WriteString(fmt.Sprintf("frontierID: %s, ", service.FrontierID))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
_, err = buffer.WriteString(fmt.Sprintf("addr: %s, ", service.Addr))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
_, err = buffer.WriteString(fmt.Sprintf("update_time: %d", service.UpdateTime))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
buffer.WriteString("}")
|
|
return buffer.Bytes(), nil
|
|
}
|