<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/eventlet.git, branch qdoc</title>
<subtitle>github.com: eventlet/eventlet.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/'/>
<entry>
<title>Fix docstring which pointed to wrong Queue</title>
<updated>2015-10-13T10:16:54+00:00</updated>
<author>
<name>Ramakrishnan G</name>
<email>rameshg87@gmail.com</email>
</author>
<published>2015-09-14T11:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=299da78a65c4c0f87070d92098675677eb113199'/>
<id>299da78a65c4c0f87070d92098675677eb113199</id>
<content type='text'>
This commit fixes the docstring which pointed
to the wrong class eventlet.queue.Queue instead
of the one in standard library.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit fixes the docstring which pointed
to the wrong class eventlet.queue.Queue instead
of the one in standard library.
</pre>
</div>
</content>
</entry>
<entry>
<title>wsgi: don't buffer empty strings from the application</title>
<updated>2015-10-12T18:25:35+00:00</updated>
<author>
<name>Samuel Merritt</name>
<email>sam@swiftstack.com</email>
</author>
<published>2015-10-12T18:25:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=27e899df9d5cf20f1a5e5e0228bf0e2f6ebef47b'/>
<id>27e899df9d5cf20f1a5e5e0228bf0e2f6ebef47b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>wsgi: suppress output of 0-byte chunks</title>
<updated>2015-10-09T00:58:23+00:00</updated>
<author>
<name>Samuel Merritt</name>
<email>sam@swiftstack.com</email>
</author>
<published>2015-10-08T23:05:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=f1e4d33d0269d74e2c3a8b26a3198720da588f73'/>
<id>f1e4d33d0269d74e2c3a8b26a3198720da588f73</id>
<content type='text'>
Under certain conditions, if the WSGI iterable yields an empty string,
it can cause the response to be terminated.

The conditions are as follows:

  * no minimum chunk size (eventlet.wsgi.server() was called with
    minimum_chunk_size=0, or
    env['eventlet.minimum_write_chunk_size'] = 0)

  * chunked transfer-encoding on the response

In this case, if the WSGI iterable yields an empty string, then
eventlet.wsgi obligingly turns that into "0\r\n\r\n" and writes that
to the socket. This, of course, terminates the response as far as the
client is concerned. However, eventlet.wsgi doesn't notice, so it'll
happily keep calling next(app_iter) and sending the chunks.

If Connection: keep-alive is set, the client might then send the next
request, read some chunked response body, fail to parse it, and then
disconnect.

In other cases, either the 0-byte chunk is saved in the chunk buffer
until the minimum chunk size is met, or 0 bytes get written to the
socket. Those are both no-ops.

This commit discards 0-byte chunks from the WSGI iterable.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Under certain conditions, if the WSGI iterable yields an empty string,
it can cause the response to be terminated.

The conditions are as follows:

  * no minimum chunk size (eventlet.wsgi.server() was called with
    minimum_chunk_size=0, or
    env['eventlet.minimum_write_chunk_size'] = 0)

  * chunked transfer-encoding on the response

In this case, if the WSGI iterable yields an empty string, then
eventlet.wsgi obligingly turns that into "0\r\n\r\n" and writes that
to the socket. This, of course, terminates the response as far as the
client is concerned. However, eventlet.wsgi doesn't notice, so it'll
happily keep calling next(app_iter) and sending the chunks.

If Connection: keep-alive is set, the client might then send the next
request, read some chunked response body, fail to parse it, and then
disconnect.

In other cases, either the 0-byte chunk is saved in the chunk buffer
until the minimum chunk size is met, or 0 bytes get written to the
socket. Those are both no-ops.

This commit discards 0-byte chunks from the WSGI iterable.
</pre>
</div>
</content>
</entry>
<entry>
<title>subprocess: support universal_newlines</title>
<updated>2015-09-15T22:55:32+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2015-09-13T10:11:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=5a4a7ead2435025e2c727c902d7e985be0204417'/>
<id>5a4a7ead2435025e2c727c902d7e985be0204417</id>
<content type='text'>
https://github.com/eventlet/eventlet/issues/243
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://github.com/eventlet/eventlet/issues/243
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat: Fix TypeError on empty websocket message</title>
<updated>2015-09-15T08:58:48+00:00</updated>
<author>
<name>mui</name>
<email>mui@dm0</email>
</author>
<published>2015-09-15T08:58:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=8482499f135d2bbe944884e5831534ba1476f559'/>
<id>8482499f135d2bbe944884e5831534ba1476f559</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>wsgi: improved request body discard</title>
<updated>2015-09-07T01:23:47+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2015-09-07T01:23:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=b443de322aed2b0f9f0d1aab3d24c1f7cd5bd2da'/>
<id>b443de322aed2b0f9f0d1aab3d24c1f7cd5bd2da</id>
<content type='text'>
- skip request body discarding when connection was to be closed anyway
- handle ChunkReadError while discarding, write to log, close connection

https://github.com/eventlet/eventlet/issues/27
https://github.com/eventlet/eventlet/issues/242
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- skip request body discarding when connection was to be closed anyway
- handle ChunkReadError while discarding, write to log, close connection

https://github.com/eventlet/eventlet/issues/27
https://github.com/eventlet/eventlet/issues/242
</pre>
</div>
</content>
</entry>
<entry>
<title>Travis: use fast infrastructure (sudo: false)</title>
<updated>2015-09-06T11:43:15+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2015-02-24T22:59:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=4f015c2993be7ed90177cd43780cd1423cc932a1'/>
<id>4f015c2993be7ed90177cd43780cd1423cc932a1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>greenio: socket.recv() could return str; Thanks to jerzyk</title>
<updated>2015-09-06T00:43:42+00:00</updated>
<author>
<name>Sergey Shepelev</name>
<email>temotor@gmail.com</email>
</author>
<published>2015-09-06T00:43:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=001f31f8f8dfc581795f282609027b26c8a31833'/>
<id>001f31f8f8dfc581795f282609027b26c8a31833</id>
<content type='text'>
It must always return bytes.
https://github.com/eventlet/eventlet/issues/245
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It must always return bytes.
https://github.com/eventlet/eventlet/issues/245
</pre>
</div>
</content>
</entry>
<entry>
<title>wsgi: better error for chunk read failures</title>
<updated>2015-08-10T18:49:26+00:00</updated>
<author>
<name>Samuel Merritt</name>
<email>sam@swiftstack.com</email>
</author>
<published>2015-08-10T18:49:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=c3ce3eef0b4d0dfdbfb1ec0186d4bb204fb8ecd5'/>
<id>c3ce3eef0b4d0dfdbfb1ec0186d4bb204fb8ecd5</id>
<content type='text'>
When a client is sending a chunked request body and disconnects
between chunks, wsgi.Input.read() raises a ValueError. That's fine if
you can remember to wrap every single call to read/readline in a
try/except, but it's bad for a higher-level error handler because so
many things raise ValueError.

This adds in a new error class wsgi.ChunkReadError and raises that
instead. It inherits from ValueError so anyone catching ValueError
should continue to work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a client is sending a chunked request body and disconnects
between chunks, wsgi.Input.read() raises a ValueError. That's fine if
you can remember to wrap every single call to read/readline in a
try/except, but it's bad for a higher-level error handler because so
many things raise ValueError.

This adds in a new error class wsgi.ChunkReadError and raises that
instead. It inherits from ValueError so anyone catching ValueError
should continue to work.
</pre>
</div>
</content>
</entry>
<entry>
<title>support buflen=-1 and readall like FileIO does</title>
<updated>2015-07-24T14:31:17+00:00</updated>
<author>
<name>David Szotten</name>
<email>davidszotten@gmail.com</email>
</author>
<published>2015-07-22T12:03:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/eventlet.git/commit/?id=32305974e2c9d3f0a91e61ba0395a02def2ba8df'/>
<id>32305974e2c9d3f0a91e61ba0395a02def2ba8df</id>
<content type='text'>
required to make pytest work with an active eventlet.monkey_patch() on py3

https://github.com/eventlet/eventlet/pull/239
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
required to make pytest work with an active eventlet.monkey_patch() on py3

https://github.com/eventlet/eventlet/pull/239
</pre>
</div>
</content>
</entry>
</feed>
