ValueError When Handling Retry-After Headers After 429 Too Many Requests Error

Abierto Apto para principiantes
#230 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
php
Área
api

Línea de trabajo

Comienza en vendor/microsoft/kiota-http-guzzle/src/Middleware/RetryHandler.php alrededor de la línea 298 y reproduce la respuesta 429 de solicitudes de búsqueda simultáneas de OneDrive. Verifica el manejo de un valor de Retry-After como "60,120" y confirma que la solicitud puede reintentarse o producir una excepción HTTP adecuada en lugar del error de análisis.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

status:waiting-for-triage type:bug
Describe the bug

The issue arises after encountering a 429 Too Many Requests error, which likely returns an incorrect Retry-After header value like 60,120 (representing two retry times or a malformed retry interval). When the retry handler attempts to process this value, it throws an error because it cannot properly parse the value into an integer due to the comma.

This bug was also observed in the Python version of the SDK and has been resolved by splitting the value on the comma, and using only the first of the two resulting values.

Expected behavior
  • Server returns proper Retry After value
  • Client is able to properly parse value & retry request or if still gets 429, throw an appropriate HTTP exception.
How to reproduce
  • Trigger a 429 Too Many Requests error by sending multple simultaneous requests to onedrive search endpoint me/drive/root/search(q='t')
  • Observe that the Retry-After header contains the value "60,120".
  • The retry handler fails with the error Fatal error: Uncaught exception "RuntimeException" with message "Unable to parse Retry-After header value 60,120" File: /var/www/html/vendor/microsoft/kiota-http-guzzle/src/Middleware/RetryHandler.php on line 298
SDK Version

2.4.0

Latest version known to work for scenario above?

No response

Known Workarounds

None

Debug output
Click to expand log ```
</details>


### Configuration

_No response_

### Other information

_No response_
Lenguaje dominante
PHP
Estrellas
16
Forks
8
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoftgraph/msgraph-sdk-php-core

Todos los issues de microsoftgraph/msgraph-sdk-php-core

Issues similares

Más issues de PHP

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.