Skip to content
This repository was archived by the owner on Nov 30, 2023. It is now read-only.
This repository was archived by the owner on Nov 30, 2023. It is now read-only.

Response.write() tries to decode bytes from binary stream #146

@Mark-Hetherington

Description

@Mark-Hetherington

I'm trying to stream a file to the web browser, and to do this I'm using handler.request.write(bytes). However webapp tries to convert the bytes to text, which fails as the bytes are not valid for any character set:

            text = text.decode(self.default_charset)```
This results in an error:
`UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 6: invalid continuation byte`

In a python2 environment writing bytes was supported.

I've tried modifying the Response.write() function to do no processing if bytes are passed in, and this allows me to stream a .gif to the browser successfully. 
I'm running in to issues with a gzip encoded SVG, although this is more an issue of application logic setting the headers correctly (or decompressing the SVG before streaming to the browser). Once I've been able to test this I think I can craft a PR to resolve this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions