Closed Bug 1365276 Opened 8 years ago Closed 7 years ago

switch from falcon to flask

Categories

(Socorro :: Antenna, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: willkg, Unassigned)

Details

When I wrote Antenna, I chose Falcon because I wanted a framework that had minimal dependencies, didn't require a DB, worked well with gevent and gunicorn, and was easy to write tests for. Falcon worked well for this. However, Falcon has no built-in handling for multipart/form-data payloads, so I took the existing code we had in Socorro collector figuring that has worked for a long time and was fine. Since we put Antenna in production, almost all of the errors reported to sentry have been in the extract_payload code which takes the output of cgi.FieldStorage() and converts it into a raw_crash. The output of cgi.FieldStorage() is ornery to say the least, so that code is "interesting". Flask, on the other hand, sits on top of werkzeug and has a more robust handling for multipart/form-data. It might be easier to re-implement extract_payload over the output of wekrzeug's multipart/form-data parsing. Flask is used in a lot of other places at Mozilla, so it's more likely other people have used it. Given that, I'm thinking about switching from Falcon to Flask. This bug covers that work.
This isn't high priority work, but I wanted to capture it in a bug figuring that was a good idea.
Greg suggested that cgi.FieldStorage can save files to disk (ew). If Werkzeug's multipart/form-data handling doesn't, that's another compelling reason to switch.
This is a fine idea, but I'm not going to do this.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.