MCPcopy Create free account
hub / github.com/codeaashu/claude-code / setMockHeader

Function setMockHeader

src/services/mockRateLimits.ts:100–183  ·  view source on GitHub ↗
(
  key: MockHeaderKey,
  value: string | undefined,
)

Source from the content-addressed store, hash-verified

98
99// New approach: Toggle individual headers
100export function setMockHeader(
101 key: MockHeaderKey,
102 value: string | undefined,
103): void {
104 if (process.env.USER_TYPE !== 'ant') {
105 return
106 }
107
108 mockEnabled = true
109
110 // Special case for retry-after which doesn't have the prefix
111 const fullKey = (
112 key === 'retry-after' ? 'retry-after' : `anthropic-ratelimit-unified-${key}`
113 ) as keyof MockHeaders
114
115 if (value === undefined || value === 'clear') {
116 delete mockHeaders[fullKey]
117 if (key === 'claim') {
118 exceededLimits = []
119 }
120 // Update retry-after if status changed
121 if (key === 'status' || key === 'overage-status') {
122 updateRetryAfter()
123 }
124 return
125 } else {
126 // Handle special cases for reset times
127 if (key === 'reset' || key === 'overage-reset') {
128 // If user provides a number, treat it as hours from now
129 const hours = Number(value)
130 if (!isNaN(hours)) {
131 value = String(Math.floor(Date.now() / 1000) + hours * 3600)
132 }
133 }
134
135 // Handle claims - add to exceeded limits
136 if (key === 'claim') {
137 const validClaims = [
138 'five_hour',
139 'seven_day',
140 'seven_day_opus',
141 'seven_day_sonnet',
142 ]
143 if (validClaims.includes(value)) {
144 // Determine reset time based on claim type
145 let resetsAt: number
146 if (value === 'five_hour') {
147 resetsAt = Math.floor(Date.now() / 1000) + 5 * 3600
148 } else if (
149 value === 'seven_day' ||
150 value === 'seven_day_opus' ||
151 value === 'seven_day_sonnet'
152 ) {
153 resetsAt = Math.floor(Date.now() / 1000) + 7 * 24 * 3600
154 } else {
155 resetsAt = Math.floor(Date.now() / 1000) + 3600
156 }
157

Callers

nothing calls this directly

Calls 4

updateRetryAfterFunction · 0.85
keysMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected