router-for-me/CLIProxyAPI · error
invalid_request
invalid_request
Error message
failed to read Realtime client secret request: %w
What it means
Error "failed to read Realtime client secret request: %w" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/client/codex/live/client_secret.go:166
}
return time.Now()
}
func (s *clientSecretStore) removeExpiredLocked(now time.Time) {
for token, entry := range s.entries {
if !entry.expiresAt.After(now) {
delete(s.entries, token)
}
}
}
func readClientSecretBody(body io.Reader) ([]byte, error) {
if body == nil {
return nil, nil
}
payload, errRead := io.ReadAll(io.LimitReader(body, clientSecretMaxBodySize+1))
if errRead != nil {
return nil, fmt.Errorf("failed to read Realtime client secret request: %w", errRead)
}
if len(payload) > clientSecretMaxBodySize {
return nil, errBodyTooLarge
}
return payload, nil
}
func randomRealtimeID(prefix string, size int) (string, error) {
payload := make([]byte, size)
if _, errRead := rand.Read(payload); errRead != nil {
return "", fmt.Errorf("generate Realtime identifier: %w", errRead)
}
return prefix + base64.RawURLEncoding.EncodeToString(payload), nil
}
// AuthenticateClientSecret validates a local ephemeral key when the request carries one.
func (h *Handler) AuthenticateClientSecret(request *http.Request) (ClientSecretAuthorization, bool, error) {
token := bearerToken(request)View on GitHub (pinned to 78f0c4079e)
Solutions
- Verify the request body is readable and within the allowed size limit.
- Check the wrapped error for body read failures (truncated or aborted request).
When it happens
Trigger: Thrown at internal/client/codex/live/client_secret.go:166 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/105881a25ea197a3.
Report an issue: GitHub.