The per-key request budget for the current window is spent. Every
response carries RateLimit-Limit, RateLimit-Remaining and
RateLimit-Reset, so a client can slow down before hitting this;
this response also carries Retry-After.
Budgets are per key, so splitting work across more concurrent workers on the same key does not buy throughput.
Switch on the code member — rate_limit_exceeded — which is
stable. Do not parse the type URI: it points here, and where
"here" is may change.