Multipart Parser
Verfasst: Donnerstag 17. Juni 2010, 12:42
Ich hab die letzten zwei Tage einen multipart/form-data Parser von Grund auf neu implementiert, der auch unter Python 3 funktioniert und cgi.FieldStorage() in Bottle ablösen soll. Damit wäre die letzte verbleibende Inkompatibilität zu Python 3 beseitigt (cgi.FieldStorage will unicode haben und verschluckt Newlines) und auch einige andere Dinge besser gelöst als mit cgi.FieldStorage().
Wenn jemand von euch Erfahrung mit kaputten Browsern hat, wäre es nett wenn ihr ein paar Test-Szenarien bei steuern könntet. Die Tests aus werkzeug/test/test_formparser.py und die Bottle-eigenen Tests besteht meine Implementierung bereits.
Ich weiß das:
- setuptools Leerzeilen vor dem ersten Separator ein baut.
- Chrome ab und zu den Content-Type header unterschlägt.
- Internet Explorer den Filename-Parameter des Content-Disposition Headers falsch befüllt.
- manche Browser keine Content-Length angeben.
- der Separator unter Umständen auch innerhalb des Datenbereichs vor kommen kann.
- manche Bibliotheken \n statt \r\n verwenden.
Kennt ihr noch andere Browser-Bugs was das multipart/form-data Format an geht?
Wenn jemand von euch Erfahrung mit kaputten Browsern hat, wäre es nett wenn ihr ein paar Test-Szenarien bei steuern könntet. Die Tests aus werkzeug/test/test_formparser.py und die Bottle-eigenen Tests besteht meine Implementierung bereits.
Ich weiß das:
- setuptools Leerzeilen vor dem ersten Separator ein baut.
- Chrome ab und zu den Content-Type header unterschlägt.
- Internet Explorer den Filename-Parameter des Content-Disposition Headers falsch befüllt.
- manche Browser keine Content-Length angeben.
- der Separator unter Umständen auch innerhalb des Datenbereichs vor kommen kann.
- manche Bibliotheken \n statt \r\n verwenden.
Kennt ihr noch andere Browser-Bugs was das multipart/form-data Format an geht?