Improve Falcon parser

Abierto
#1,079 7 comentarios 2 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@vytas7 ya está trabajando en esto.

Desde el 22/7/2026.

  • #1080 de @vytas7 — abierto

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
api, backend

Línea de trabajo

Empieza leyendo el código del parser de Falcon y la función auxiliar parse_form_body(...). Revisa las cuestiones abiertas sobre los formularios URL-encoded, el manejo de medios, los errores de Unicode, los cuerpos de las solicitudes AIOHTTP async y la integración con middleware antes de elegir un alcance concreto. Se considera terminado cuando se hayan acordado el comportamiento previsto y las expectativas de compatibilidad, y las mejoras seleccionadas estén cubiertas.

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

Descripción

Let me first say that it was a privilege to meet @sirosen @ EuroPython '26.
As I also replied on LinkedIn to @InessaPawson, the little BoF session on AI impact (that we participated in) was definitely one of the conference's main highlights for me.

IIRC I offered to help to improve Falcon "parser", but now that I've opened the code, it is not as trivial as I thought.

Main things that I'm unsure about (in progress):

  • Do we want to DRY URL-encoded forms with Falcon's media handling? Do we need to keep the parse_form_body(...) helper for backwards compatibility, or is it considered private? Do we want to silence Unicode errors as it does?
  • How to load media/request body in the async case? Is it properly supported for AIOHTTP?
  • Add a recipe how to integrate this in middleware (in possible).

I will create a Draft PR addressing some of the mundane improvements, the rest needs discussion (since I don't have much experience with webargs).

Lenguaje dominante
Python
Estrellas
1.4k
Forks
171
Merge medio
8 h 47 min
PR fusionados (30 d)
12

Preparar el entorno

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 marshmallow-code/webargs

Todos los issues de marshmallow-code/webargs

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.