Replace cgi.FieldStorage
with multipart
#466
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Gets rid of the deprecation warnings and resolves #437
This replaces dependencies on the stdlib
cgi
for the multipart package, as recommended by PEP-0594Unfortunately
MultiDict
exposesFieldStorage
objects publicly, and since that's no longer an option I created a newMultiDictFile
object that has the same shape. Beyond that, though,FieldStorage
is only an implementation detail and can be swapped out cleanly.There's one test now failing:
test_cgi_escaping_fix
. It looks to be special handling of a malformed multipart doc, but I can't figure out the motivation for it. It was originally added in d57f294 and the linked repository no longer exists, so the context is lost.As an aside:
FieldStorage
is an extremely weird API. The class represents both a single multipart part and the full multipart document.