<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/eventlet.git/eventlet/wsgi.py, branch run_python</title>
<subtitle>github.com: eventlet/eventlet.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/'/>
<entry>
<title>Python 3 compat: Fix all Travis test failures</title>
<updated>2015-02-13T07:52:54+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2015-02-11T23:30:28+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=449c90a50965af369c91c0175b19de83f0d3a030'/>
<id>449c90a50965af369c91c0175b19de83f0d3a030</id>
<content type='text'>
This patch consists of the following changes:

* Splitting eventlet.greenio into base, py2 and py3 parts
  (eventlet.greenio should be exporing the same public objects). This
  change is motivated by the size and the number of conditions present
  in the current greenio code
* Connected to the first point: implementing almost completely new
  GreenPipe callable utilizing parts of old GreenPipe code but dropping
  _fileobject/SocketIO inheritance in favour of io.FileIO and making use
  of patched _pyio.open function which wraps raw file-like object in
  various readers and writers (they take care of the buffering,
  encoding/decoding etc.)
* Implementing (from scratch or updating existing versions)
  green versions of the following modules:

  * http.* (needed by Python 3's urllib)
  * selectors (Python &gt;= 3.4, used in subprocess module)
  * urllib.* (needed by various tests and we were already exposing green
    urllib)

* Modifying some tests to make tests pass, which includes:

  * unicode/bytestring issues
  * modifying wsgi_test_conntimeout.py to not pass bufsize and close
    arguments to ExplodingSocketFile - on Python 3 it inherits from
    SocketIO, which doesn't deal with buffering at all as far as I can
    see

* Random cleaning up and reorganizing
* Requiring Python 3.x tests to pass for the whole build to pass

Known issues:

* code repetition
* naming inconsistencies
* possibly breaking some external code using private eventlet.greenio attributes

Closes https://github.com/eventlet/eventlet/issues/108

Affects https://github.com/eventlet/eventlet/issues/6 (I'd call it an
experimental support)

Should help for https://github.com/eventlet/eventlet/issues/145
Should help for https://github.com/eventlet/eventlet/issues/157
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch consists of the following changes:

* Splitting eventlet.greenio into base, py2 and py3 parts
  (eventlet.greenio should be exporing the same public objects). This
  change is motivated by the size and the number of conditions present
  in the current greenio code
* Connected to the first point: implementing almost completely new
  GreenPipe callable utilizing parts of old GreenPipe code but dropping
  _fileobject/SocketIO inheritance in favour of io.FileIO and making use
  of patched _pyio.open function which wraps raw file-like object in
  various readers and writers (they take care of the buffering,
  encoding/decoding etc.)
* Implementing (from scratch or updating existing versions)
  green versions of the following modules:

  * http.* (needed by Python 3's urllib)
  * selectors (Python &gt;= 3.4, used in subprocess module)
  * urllib.* (needed by various tests and we were already exposing green
    urllib)

* Modifying some tests to make tests pass, which includes:

  * unicode/bytestring issues
  * modifying wsgi_test_conntimeout.py to not pass bufsize and close
    arguments to ExplodingSocketFile - on Python 3 it inherits from
    SocketIO, which doesn't deal with buffering at all as far as I can
    see

* Random cleaning up and reorganizing
* Requiring Python 3.x tests to pass for the whole build to pass

Known issues:

* code repetition
* naming inconsistencies
* possibly breaking some external code using private eventlet.greenio attributes

Closes https://github.com/eventlet/eventlet/issues/108

Affects https://github.com/eventlet/eventlet/issues/6 (I'd call it an
experimental support)

Should help for https://github.com/eventlet/eventlet/issues/145
Should help for https://github.com/eventlet/eventlet/issues/157
</pre>
</div>
</content>
</entry>
<entry>
<title>pep8: trivial fixes</title>
<updated>2014-11-11T23:09:01+00:00</updated>
<author>
<name>Christoph Gysin</name>
<email>christoph.gysin@gmail.com</email>
</author>
<published>2014-11-05T20:31:39+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=a70b4ba4839a6ba94238a474ba1f471d4b878b67'/>
<id>a70b4ba4839a6ba94238a474ba1f471d4b878b67</id>
<content type='text'>
Closes #161 (GH)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #161 (GH)
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat; Improve WSGI, WS, threading and tests</title>
<updated>2014-11-11T23:04:21+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-11-11T22:38:30+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=23beb7d43e3b80f0fa557ec80101d7e6f12621ff'/>
<id>23beb7d43e3b80f0fa557ec80101d7e6f12621ff</id>
<content type='text'>
This includes:

* patching more tests to pass
* removing few unit tests which I think are redundant
* repeating SSL socket reads in a loop to read all data (I suspect this is
  related to the fact that writelines is used in the server code there and
  Python 3 writelines calls write/send repeatedly while on Python 2 it
  calls it once; on one hand there's no guarantee that single recv/read
  will return all data sent by the server, on the other hand it's quite
  suspicious that the number of required reads seems to be connected to
  the number of sends on the other side of the connection)
* working through Python 2/Python 3 threading and thread differences; the
  lock code I used is the simplest way I could make the tests pass but
  will likely need to be modified in order to match the original

This commit includes 6bcb1dc and closes GH #153
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes:

* patching more tests to pass
* removing few unit tests which I think are redundant
* repeating SSL socket reads in a loop to read all data (I suspect this is
  related to the fact that writelines is used in the server code there and
  Python 3 writelines calls write/send repeatedly while on Python 2 it
  calls it once; on one hand there's no guarantee that single recv/read
  will return all data sent by the server, on the other hand it's quite
  suspicious that the number of required reads seems to be connected to
  the number of sends on the other side of the connection)
* working through Python 2/Python 3 threading and thread differences; the
  lock code I used is the simplest way I could make the tests pass but
  will likely need to be modified in order to match the original

This commit includes 6bcb1dc and closes GH #153
</pre>
</div>
</content>
</entry>
<entry>
<title>wsgi.input: Make send_hundred_continue_headers a public API</title>
<updated>2014-11-06T15:19:03+00:00</updated>
<author>
<name>Tushar Gohad</name>
<email>tushar.gohad@intel.com</email>
</author>
<published>2014-11-06T04:25:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=01d5e8738b1ca22641badd35fc28b912c51f93fb'/>
<id>01d5e8738b1ca22641badd35fc28b912c51f93fb</id>
<content type='text'>
Per HTTP RFC 7231 (http://tools.ietf.org/html/rfc7231#section-6.2)
a client is required to be able to process one or more 100 continue
responses.

-- RFC 7231 --------------------

6.2.  Informational 1xx

[snip]

   A client MUST be able to parse one or more 1xx responses received
   prior to a final response, even if the client does not expect one.
   A user agent MAY ignore unexpected 1xx responses.
...
--------------------------------

This patch adds a send_hundred_continue_headers() public API method
to wsgi.input, thus allowing WSGI apps to send more than one 100-
continue response.  This does not change existing semantics for the
first 100-continue response sent on read() or readline().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Per HTTP RFC 7231 (http://tools.ietf.org/html/rfc7231#section-6.2)
a client is required to be able to process one or more 100 continue
responses.

-- RFC 7231 --------------------

6.2.  Informational 1xx

[snip]

   A client MUST be able to parse one or more 1xx responses received
   prior to a final response, even if the client does not expect one.
   A user agent MAY ignore unexpected 1xx responses.
...
--------------------------------

This patch adds a send_hundred_continue_headers() public API method
to wsgi.input, thus allowing WSGI apps to send more than one 100-
continue response.  This does not change existing semantics for the
first 100-continue response sent on read() or readline().
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve documentation</title>
<updated>2014-10-31T06:23:53+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-31T00:08:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=67cde41d03c0bccb12fd7d5f6d7e155d6da95e40'/>
<id>67cde41d03c0bccb12fd7d5f6d7e155d6da95e40</id>
<content type='text'>
This patch:

* exposes eventlet.greenthread.kill function so Sphinx generates
  its documentation and fixes broken links to :func:`kill`
* adds warning about wsgi.server waiting for active connections to
  finish before returning
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch:

* exposes eventlet.greenthread.kill function so Sphinx generates
  its documentation and fixes broken links to :func:`kill`
* adds warning about wsgi.server waiting for active connections to
  finish before returning
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat: Improve subprocess, WSGI and tests</title>
<updated>2014-10-13T21:05:09+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-11T18:46:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=d19770ec6413fd6677101eec4c916bba5adf7ea1'/>
<id>d19770ec6413fd6677101eec4c916bba5adf7ea1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow more gracefull shutdown of wsgi server</title>
<updated>2014-10-13T14:39:19+00:00</updated>
<author>
<name>Stuart McLaren</name>
<email>stuart.mclaren@hp.com</email>
</author>
<published>2014-09-17T10:59:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=1c30e9b39f4330babcb3665df4c1a3ba694bc6c1'/>
<id>1c30e9b39f4330babcb3665df4c1a3ba694bc6c1</id>
<content type='text'>
Currently, if the listening socket is closed the
wsgi.server will go into an infinite loop.

Add an 'is_accepting' flag which can be set to False
to tell the server to exit. This allows, for example,
a signal handler to initiate a gracefull shutdown
(complete existing requests then exit).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, if the listening socket is closed the
wsgi.server will go into an infinite loop.

Add an 'is_accepting' flag which can be set to False
to tell the server to exit. This allows, for example,
a signal handler to initiate a gracefull shutdown
(complete existing requests then exit).
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat: Improve SSL and WSGI compat</title>
<updated>2014-10-11T17:48:49+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-11T01:10:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=3df8dc2263a9702657c344d3a1c9ed4035a4a24b'/>
<id>3df8dc2263a9702657c344d3a1c9ed4035a4a24b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat: Fix precedence bug</title>
<updated>2014-10-11T17:48:44+00:00</updated>
<author>
<name>raylu</name>
<email>lurayl@gmail.com</email>
</author>
<published>2014-10-02T06:17:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=e61bb738b8a9231b84fa13a0c985fc3b43a86d29'/>
<id>e61bb738b8a9231b84fa13a0c985fc3b43a86d29</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3 compat: Improve various bits</title>
<updated>2014-10-10T08:17:41+00:00</updated>
<author>
<name>Jakub Stasiak</name>
<email>jakub@stasiak.at</email>
</author>
<published>2014-10-05T23:38:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/eventlet.git/commit/?id=6cbd4846ab2f12b1c18c38b570293c0bb05d28a7'/>
<id>6cbd4846ab2f12b1c18c38b570293c0bb05d28a7</id>
<content type='text'>
This includes changes to WSGI, websocket, bytes/str/unicode handling,
SSL, backdoor, greenio and tests.

Some comments and conditionals (PY2/PY3) were added for clarity

GH issues:

Closes #106
Closes #111
Closes #118
Closes #141

Incidentally should also close #135 (reopen if didn't)

cc #6
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This includes changes to WSGI, websocket, bytes/str/unicode handling,
SSL, backdoor, greenio and tests.

Some comments and conditionals (PY2/PY3) were added for clarity

GH issues:

Closes #106
Closes #111
Closes #118
Closes #141

Incidentally should also close #135 (reopen if didn't)

cc #6
</pre>
</div>
</content>
</entry>
</feed>
