Update rate limiting headers and adjust time unit for limits
Added `Access-Control-Expose-Headers` to rate limit responses to expose retry-related headers for easier accessibility on the client side. Changed the rate limit time unit in `HistoryApiController` from seconds to minutes for more reasonable throttling.
This commit is contained in:
parent
21f2b3e4a5
commit
905373093c
|
|
@ -15,10 +15,11 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RateLimit(limit = 30, timeValue = 1, timeUnit = java.util.concurrent.TimeUnit.SECONDS)
|
@RateLimit(limit = 30, timeValue = 1, timeUnit = TimeUnit.MINUTES)
|
||||||
public class HistoryApiController implements HistoryApi {
|
public class HistoryApiController implements HistoryApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@ public class RateLimitAspect {
|
||||||
.header("X-Rate-Limit-Limit", String.valueOf(limit))
|
.header("X-Rate-Limit-Limit", String.valueOf(limit))
|
||||||
.header("X-Rate-Limit-Remaining", "0")
|
.header("X-Rate-Limit-Remaining", "0")
|
||||||
.header("Retry-After", String.valueOf(nextResetTime.getSeconds()))
|
.header("Retry-After", String.valueOf(nextResetTime.getSeconds()))
|
||||||
|
.header("Access-Control-Expose-Headers", "Retry-After, X-Rate-Limit-Limit, X-Rate-Limit-Remaining")
|
||||||
.body(String.format("Rate limit exceeded. Try again in %d seconds.", nextResetTime.getSeconds()));
|
.body(String.format("Rate limit exceeded. Try again in %d seconds.", nextResetTime.getSeconds()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user