Estoy tratando de integrar el análisis de datos de formulario multiparte en un módulo de servidor web para que pueda aliviar las aplicaciones web backend (a menudo escritas en lenguajes dinámicos) de analizar los datos multiparte ellos mismos. La gramática multiparte (RFC 2046) no parece trivial y si la implemento a mano, muchas cosas pueden salir mal. ¿Ya hay un analizador multipart/form-data bueno y liviano escrito en C o C++? Estoy buscando uno con no dependencias externas distintas de la biblioteca estándar C o C++. No necesito el manejo de archivos adjuntos de correo electrónico ni las clases de E/S almacenadas en búfer ni un tiempo de ejecución de portabilidad o lo que sea, solo un análisis multipart/form-data.¿Hay un analizador multipart/form-data liviano en C o C++?
cosas que yo he considerado:
- gmime - depende de simplista, por lo que no ir.
- libapreq - Demasiado grande, depende de APR, mal documentada, sin pruebas de unidad.
También he considerado escribir un analizador sintáctico con Ragel, pero no puedo entender cómo hacerlo porque la gramática no es estática: el límite puede cambiar arbitrariamente.
"gmime - depende de simplista, por lo que no va" - cuidado de explicar por qué? –
¿Has leído este hilo: http://stackoverflow.com/questions/218089/simple-c-mime-parser? – Manuel
@John: cada nueva dependencia agrega inconvenientes de instalación para mis usuarios, y quiero evitar eso al mínimo. Muchos servidores no tienen instalado glib. Además, cada nueva dependencia aumenta el uso de recursos. No hay muchas aplicaciones de servidor que utilicen glib, así que si dependo de glib, extraeré todo su consumo de memoria solo para analizar algunos datos de mimo. – Hongli