Skip to content

Conversation

@panxjina
Copy link

@panxjina panxjina commented Feb 10, 2026

Description

What?

  • Add custom header parsing to support vendor-agnostic retry.
  • As per current support, RetryAfterHeaderStrategy supports fixed headers for rate-limit parsing
    • RetryAfter: For throlled requests
    • X-RateLimit-Remaining/X-RateLimit-Reset: legacy headers for rate limit parsing

Why?

  • In Gitlab product integration, we're encountering non-legacy ratelimit headers. (i.e. ratelimit-reset, ratelimit-remaining).
  • Based on vendor support, we might have scenario to include custom rate-limit header parsing

How?

  • This change includes custom header support which can be used via parameterized constructor. Added support for accepting custom rate-limit reset and remaining headers.
  • This change is backward compatible, as for existing plugins using default constructor, standard legacy rate-limit headers would be supported.
  • It is observed that as RFC headers will need case-insensitive match, which is already taken care by HttpHeaders methods (i.e., containsKey, getFirst).

References:-

Issues Resolved

N/A

Check List

  • New functionality includes testing.
  • New functionality has a documentation issue. Please link to it in this PR.
    • New functionality has javadoc added
  • Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@panxjina panxjina force-pushed the custom_header_parsing_support_for_retry_after_header_strategy branch from 186f5f5 to 3b27a97 Compare February 10, 2026 13:37
Signed-off-by: Jinal [C] Panchal <panxjina@amazon.com>
@panxjina panxjina force-pushed the custom_header_parsing_support_for_retry_after_header_strategy branch from 3b27a97 to 1eb01ea Compare February 10, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant