OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / go-kit / kit / examples / shipping / tracking / endpoint.go
1 package tracking
2
3 import (
4         "context"
5
6         "github.com/go-kit/kit/endpoint"
7 )
8
9 type trackCargoRequest struct {
10         ID string
11 }
12
13 type trackCargoResponse struct {
14         Cargo *Cargo `json:"cargo,omitempty"`
15         Err   error  `json:"error,omitempty"`
16 }
17
18 func (r trackCargoResponse) error() error { return r.Err }
19
20 func makeTrackCargoEndpoint(ts Service) endpoint.Endpoint {
21         return func(ctx context.Context, request interface{}) (interface{}, error) {
22                 req := request.(trackCargoRequest)
23                 c, err := ts.Track(req.ID)
24                 return trackCargoResponse{Cargo: &c, Err: err}, nil
25         }
26 }