Closed HelloGrayson closed 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.
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.