yarpc / yarpc-go

A message passing platform for Go
MIT License
404 stars 103 forks source link

Auth errors #653

Closed HelloGrayson closed 7 years ago

HelloGrayson commented 7 years ago

In order for extension authors to implement authz/n middleware, as in https://github.com/uber-go/fx/pull/145, they'll need to be able to return either a authn or authz error that is defined and understood within YARPC.

Currently, they'll have no option but to return an error YARPC doesn't recognize, one that will be treated as a 5xx server error and likely be retried/circuited against.

HelloGrayson commented 7 years ago

Closed because, for now, the transport should be able to raise a yarpc.api.transport.BadRequestError directly which will get treated as a 4xx style error. This is important because Authz/n doesn't mean the server is unhealthy, it means the client is err'ing.