Существует ли легкий multipart/form-data синтаксический анализатор в C или C++? [закрытый]

Я смотрю на интеграцию многослойного парсинга данных формы в модуле веб-сервера так, чтобы я мог уменьшить веб-приложения бэкенда (часто писавшийся на динамических языках) от парсинга многослойных данных самих. Многослойная грамматика (RFC 2046) выглядит нетривиальной и если я реализую его вручную, много вещей может пойти не так, как надо. Уже существует ли хороший, легкий multipart/form-data синтаксический анализатор, записанный в C или C++? Я ищу один без внешних зависимостей кроме C или библиотеки стандарта C++. Мне не нужны почтовая обработка вложения или буферизованные классы ввода-вывода или время выполнения мобильности или что бы то ни было, просто multipart/form-data парсинг.

Вещи, которые я рассмотрел:

  • GMime - зависит от бойкого, таким образом, никакие не идут.
  • libapreq - слишком большой, зависит от APR, плохо зарегистрированного, никакие модульные тесты.

Я также посмотрел на запись синтаксического анализатора с Ragel, но я не могу выяснить, как сделать это, потому что грамматика не статична: граница может измениться произвольно.

28
задан Hongli 15 February 2010 в 09:49
поделиться

3 ответа

миметик утверждает, что это поддерживает. Я думаю, что GNU cgicc также может его поддерживать.

1
ответ дан 28 November 2019 в 03:55
поделиться

cgicc это поддерживает ... Но пишется довольно плохо и переключается на буфер записи в памяти.

1
ответ дан 28 November 2019 в 03:55
поделиться

это может не отвечать на ваш вопрос напрямую, но рассматривали ли вы hiphop для php из facebook?

он преобразует ваш php-код в c ++, а затем компилирует с g ++.

может сэкономить ваше время при написании чего-либо самостоятельно.

-4
ответ дан 28 November 2019 в 03:55
поделиться