While adding rate-limiting to the Rust-based evaluator (MR), we discovered that Rust libraries do not automatically fail with 429's when the rate limit is reached and queues the request instead. We want to fail with the standard error code and in order to do that will require some custom middleware and/or incorporating other libraries to fail after a certain threshold.
Description
Description
Event Timeline
Comment Actions
jforrester opened https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-evaluator/-/merge_requests/469
Replace tower RateLimitLayer with custom middleware returning HTTP 429.