Is there a lightweight multipart/form-data parser in C or C++? [closed]
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this questionI'm looking at integrating multipart form-data parsing in a web server module so that I can relieve backend web applications (often written in dynamic languages) from parsing the multi开发者_Go百科part data themselves. The multipart grammar (RFC 2046) looks non-trivial and if I implement it by hand a lot of things can go wrong. Is there already a good, lightweight multipart/form-data parser written in C or C++? I'm looking for one with no external dependencies other than the C or C++ standard library. I don't need email attachment handling or buffered I/O classes or a portability runtime or whatever, just multipart/form-data parsing.
Things that I've considered:
- GMime - depends on glib, so no go.
- libapreq - too large, depends on APR, badly documented, no unit tests.
I've also looked at writing a parser with Ragel, but I can't figure out how to do it because the grammar is not static: the boundary can change arbitrarily.
I know this question is a couple of years old now, but I needed the same and ended up using this:
https://github.com/iafonov/multipart-parser-c
Yes, there one. No secret it is my own. Feel free to use it. The link is: MPFDParser. It has no dependencies at all.
mimetic claims to support it. I think GNU cgicc may also support it.
cgicc supports it... But is written quite badly and relays on entry buffer in memory.
this may not answer your question directly, but did you consider hiphop for php from facebook?
it converts your php code to c++ then compiles with g++.
might save you time in writing something on your own.
精彩评论