tgoop.com/golang_digest/120
Create:
Last Update:
Last Update:
Advanced gRPC Error Usage
https://jbrandhorst.com/post/grpc-errors/
Коротенькая статья о том, как с помощью пакета status добавлять произвольные метаданные к ошибкам. Это бывает очень удобно при разборе и обработке ошибок между сервисами.
Пример:
st := status.New(codes.InvalidArgument, "invalid username")
desc := "The username must only contain alphanumeric characters"
v := &errdetails.BadRequest_FieldViolation{
Field: "username",
Description: desc,
}
br := &errdetails.BadRequest{}
br.FieldViolations = append(br.FieldViolations, v)
st, err := st.WithDetails(br)
if err != nil {
// If this errored, it will always error
// here, so better panic so we can figure
// out why than have this silently passing.
panic(fmt.Sprintf("Unexpected error attaching metadata: %v", err))
}
return st.Err()
————
За ссылку спасибо @ekostogorov
#grpc #article
BY Golang Дайджест
Share with your friend now:
tgoop.com/golang_digest/120