MCPcopy Create free account
hub / github.com/Effect-TS/effect / parseRateLimitLimit

Function parseRateLimitLimit

packages/effect/src/unstable/http/HttpClient.ts:1296–1312  ·  view source on GitHub ↗
(
  state: RateLimiterState,
  headers: Headers.Headers,
  tokens: number,
  headerNames: RateLimiterHeaderNames
)

Source from the content-addressed store, hash-verified

1294}
1295
1296const parseRateLimitLimit = (
1297 state: RateLimiterState,
1298 headers: Headers.Headers,
1299 tokens: number,
1300 headerNames: RateLimiterHeaderNames
1301): number | undefined => {
1302 const raw = getHeader(headers, ...headerNames.limit)
1303 const value = parseNumberHeader(raw)
1304 if (value !== undefined && value > 0) {
1305 return value
1306 }
1307 const remaining = parseRateLimitRemaining(headers, headerNames)
1308 if (remaining === undefined) {
1309 return undefined
1310 }
1311 return state.initial ? remaining + tokens : Math.max(remaining + tokens, state.limit)
1312}
1313
1314const parseRateLimitRemaining = (
1315 headers: Headers.Headers,

Callers 1

parseRateLimiterStateFunction · 0.85

Calls 3

getHeaderFunction · 0.85
parseNumberHeaderFunction · 0.85
parseRateLimitRemainingFunction · 0.85

Tested by

no test coverage detected