Slide 17
Slide 17 text
Реализация Middleware
func (m *...) ListCakes(
ctx context.Context, req *api.ListCakesRequest)
(*api.ListCakesResponse, error) {
start := time.Now()
res, err := m.next.ListCakes(ctx, req)
m.logCall(start, err, "ListCakes", log.Fields{
"cookIDs": req.CookIDs,
})
return res, translateError(err)
}
17