-
Notifications
You must be signed in to change notification settings - Fork 5
TODO
Florian Best edited this page Dec 27, 2018
·
20 revisions
Here is a list of things which still need to be done:
- implement more test cases (goal: 90% coverage)
- add module documentation
- add sphinx-autodoc
implement Range header + integration in statemachine-
implement Cookie header+ Cookie-storage-utils implement Content-Encoding codecs (gzip/deflate) in statemachineImplement Forwarded headerImplement WSGI components- Header fields with UTF-8 should be composed in MIME syntax
- move StateMachine.parse_chunked_body into a Codec used by Body.parse() ?!
rename all uppercase status exception classes into lowercase PEP8 conform?- namespaces
- non-strict error behavior (e.g. ignore invalid headers)
- turn every parsing method into an optional coroutine
- implement (instead of InvalidFoo) → ParseError(reason=syntax-error|decode-error|encode-error, what=URI, ABNF=rule, data=...)
- CLI Client
- parse multiple status lines e.g. 100-continue + (leading CRLF?)
- use pythons original codecs?
- Implement iterencode/iterdecode for every Codec
- Add HeaderElement flag which makes the header composed in multiple lines (e.g. Authorization: foo\r\nAuthorization: bar\r\n)
- parse HTTP header comments (Via, Server, User-Agent)
- Implement Authentication-Info header
- Implement Body().lock()
-
from __future__ import unicode_literals
in all modules - implement pickle-ability?
- check all
__repr__
methods
- parse coordinate query string ("500,400" → dict(x=500, y=400) ?
- parse HTTP/1.0 query strings with ';' separated params?
- limit the number of http header?
- Implement
Body.__getitem__
for slicing?
- Implement HTTP/2 → https://github.com/spaceone/httoop.http2
- Implement ProxyStateMachine
- Implement HTTP cache utilities