Skip to content

While running a SSL server, responding an empty bytes causes an SSLEOFError. #1659

@relent95

Description

@relent95

Expected Behavior

In a request handler(endpoint), responding an empty bytes should be OK as in the following example.

@app.route('/test', methods = ['PUT'])
def test():
  return b'', 204 # HTTP_NO_CONTENT

Actual Behavior

But currently, this causes an SSLEOFError exception.

Error on request:
Traceback (most recent call last):
  File "/home/relent95/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 303, in run_wsgi
    execute(self.server.app)
  File "/home/relent95/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 294, in execute
    write(data)
  File "/home/relent95/.local/lib/python3.5/site-packages/werkzeug/serving.py", line 275, in write
    self.wfile.write(data)
  File "/usr/lib/python3.5/socket.py", line 593, in write
    return self._sock.send(b)
  File "/usr/lib/python3.5/ssl.py", line 861, in send
    return self._sslobj.write(data)
  File "/usr/lib/python3.5/ssl.py", line 586, in write
    return self._sslobj.write(data)
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1848)

Environment

  • Python version: 3.5.2
  • Flask version: 1.1.1
  • Werkzeug version: 0.15.5

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions