python-hyper / hyper

HTTP/2 for Python.

Home Page:http://hyper.rtfd.org/en/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

END_STREAM not marked when last chunk of length MAX_CHUNK

PrimozGodec opened this issue · comments

https://github.com/Lukasa/hyper/blob/13e2a909e14349d14ae2b86217062e1568242b9a/hyper/http20/stream.py#L330

End of the stream is not marked when the last chunk is of size equal to MAX_CHUNK (1024). Condition len(data) < MAX_CHUNK works fine in all cases when the last chunk is of size smaller than 1024 but not in case when last chunk is of size 1024. If we change this to len(data) <= MAX_CHUNK it wont work since we will mark END_STREAM for every chunk. Suggested solution is to make another argument that tell you when you have a last chunk.