fix(cors): Expose rate-limit headers in API responses #3237
+16
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses the issue that #3189 attempted to fix but did not fully resolve. While #3189 added Access-Control-Allow-Origin, it did not set Access-Control-Expose-Headers, which is required to make the rate-limiting headers accessible in browser-based applications.
Issue:
As reported in #2529, API responses do not expose critical rate-limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset). This makes it impossible for client-side applications to track rate limits due to CORS restrictions.
Fix:
This PR explicitly sets the Access-Control-Expose-Headers header to expose the required rate-limit headers, allowing web applications to access them properly.
Changes:
Added Access-Control-Expose-Headers with X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
Ensures CORS policies allow browser clients to read these headers
This should fully resolve the issue and allow web-based API clients to track rate limits correctly.
Let me know if any further adjustments are needed!