summaryrefslogtreecommitdiff
path: root/eventlet
Commit message (Collapse)AuthorAgeFilesLines
* greendns: IPv6 support, improved handling of /etc/hostsbb-40-greendns-ipv6Floris Bruynooghe2015-02-201-152/+394
| | | | | | https://github.com/eventlet/eventlet/issues/8 https://bitbucket.org/eventlet/eventlet/issue/105/name-resolution-needs-to-support-ipv6 https://bitbucket.org/eventlet/eventlet/pull-request/40/improve-asynchronous-ipv6-address
* green.socket: create_connection() was wrapping all exceptions in ↵Sergey Shepelev2015-02-131-4/+6
| | | | | | | socket.error; Thanks to Donagh McCabe Now raise socket.error unchanged, wrap everything else. https://bitbucket.org/eventlet/eventlet/issue/168/create_connection-incorrectly-raises
* Python 3 compat: Fix all Travis test failuresdevJakub Stasiak2015-02-1318-289/+603
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 >= 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
* Green socket: Remove (seemingly) dead codeJakub Stasiak2015-02-121-56/+0
|
* Make sure SSL retries are done using the exact same data bufferLior Neudorfer2015-02-101-1/+4
|
* Python 3 compat: Fix patcher and hub testsJakub Stasiak2015-02-101-5/+16
|
* Python 3 compat: Add some GreenPipe hacksJakub Stasiak2015-02-091-1/+13
| | | | | GreenPipe will most likely need to be rewritten for Python 3 but this'll do for some cases
* Remove dead import codeJakub Stasiak2015-02-091-27/+6
|
* fix for already closed socketsDavid Szotten2015-02-081-1/+1
|
* Fix typos detected by toolkit misspellingsChangBo Guo(gcb)2015-02-073-3/+3
| | | | | | | * pip install misspellings * git ls-files | grep -v locale | misspellings -f - Closes GH #194
* v0.16.1 release (eventlet.util zombie sneaked into previous build)v0.16.1Sergey Shepelev2015-01-141-1/+1
|
* v0.16 releasev0.16Sergey Shepelev2014-12-301-1/+1
|
* hubs: delay import pkg_resourcesSergey Shepelev2014-12-301-9/+12
| | | | https://github.com/eventlet/eventlet/issues/177
* Add comments for people who get problem like issue "#81".QthCN2014-12-221-0/+4
|
* Fix monkey_patch() on Python 3py3_importlibVictor Stinner2014-12-211-0/+6
| | | | The importlib module must use real thread locks, not eventlet.Semaphore.
* Fix monkey-patched os.open(): add dir_fd parameterVictor Stinner2014-12-211-2/+5
| | | | | | | | The os.open() function got a new option keyword-only dir_fd parameter in Python 3.3: https://docs.python.org/3/library/os.html#os.open With this change, the open() now accepts the dir_fd parameter.
* db_pool.BaseConnectionPool.clear updates .current_size #139Andrey Gubarev2014-12-211-0/+1
|
* tpool: Windows compatibility, fix ResourceWarning. Thanks to Victor StinnerSergey Shepelev2014-12-011-1/+2
| | | | | | https://github.com/eventlet/eventlet/pull/167 Signal socket bind to 127.0.0.1, '' does not work on Windows sock.close() to fix ResourceWarning with python3 -Wd
* Fix string concatenation errorsSteven Hardy2014-11-151-2/+2
| | | | | | | | | | | | Some error paths concatenate the output of "type" with a string, which gives TypeError: cannot concatenate 'str' and 'type' objects, rather than describing the actual error. Closes #149 GH Closes #150 GH Conflicts: eventlet/hubs/twistedr.py
* Python 3 compat: Improve WebSocket and testsJakub Stasiak2014-11-131-1/+1
|
* Fix __str__ method on the TimeoutExpired exception class. Also fix argumentTomaz Muraus2014-11-121-1/+2
| | | | | | | | | | order in the class constructor so it uses the same order as the actual class from Python 3.3 and above. TimeoutExpired from Python 3.3 takes arguments in the following order: cmd, timeout, output. See https://github.com/python/cpython/blob/master/Lib/subprocess.py#L388
* Improve PEP8 conformanceJakub Stasiak2014-11-118-19/+37
|
* Update bundled six version to 1.8.0Jakub Stasiak2014-11-111-62/+178
|
* pep8: trivial fixesChristoph Gysin2014-11-111-1/+1
| | | | Closes #161 (GH)
* Python 3 compat; Improve WSGI, WS, threading and testsJakub Stasiak2014-11-114-33/+48
| | | | | | | | | | | | | | | | | | | 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
* wsgi.input: Make send_hundred_continue_headers a public APITushar Gohad2014-11-061-7/+13
| | | | | | | | | | | | | | | | | | | | | | | 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().
* Improve documentationJakub Stasiak2014-10-312-0/+14
| | | | | | | | | 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
* hubs: drop Twisted supportSergey Shepelev2014-10-296-817/+0
|
* Fix "maximum recursion depth exceeded in GreenSocket.__del__"Jakub Stasiak2014-10-161-1/+9
| | | | | Closes #137 Closes #148
* Remove dead codeJakub Stasiak2014-10-161-5/+0
|
* Refactor capturing stderr into a context managerJakub Stasiak2014-10-151-1/+13
|
* Python 3 compat: Improve subprocess, WSGI and testsJakub Stasiak2014-10-133-6/+9
|
* Allow more gracefull shutdown of wsgi serverStuart McLaren2014-10-131-1/+5
| | | | | | | | | | 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).
* Clean upJakub Stasiak2014-10-111-3/+1
|
* Python 3 compat: Improve SSL and WSGI compatJakub Stasiak2014-10-113-10/+20
|
* Python 3 compat: Fix precedence bugraylu2014-10-111-1/+1
|
* Reformat with autopep8Jakub Stasiak2014-10-1120-94/+154
|
* Fix SSL socket wrapping and Python 2.7.9 compatibilityJakub Stasiak2014-10-111-2/+5
| | | | This is connected to GH #135 and BitBucket #165
* Python 3 compat: Improve various bitsJakub Stasiak2014-10-105-77/+120
| | | | | | | | | | | | | | | | | | 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
* Remove most of the deprecated codeJakub Stasiak2014-10-109-1844/+5
| | | | Closes GH #144
* Tune documentationJakub Stasiak2014-10-051-0/+1
|
* green.socket: create_connection: UnboundLocalError on Python3gh-123-local-msgSergey Shepelev2014-09-051-1/+2
| | | | Fixes https://github.com/eventlet/eventlet/issues/123
* Bump version to 0.16.0.devSergey Shepelev2014-09-051-1/+1
|
* v0.15.2 releaseSergey Shepelev2014-09-011-1/+1
|
* wsgi: pep8 fixesTushar Gohad2014-08-271-24/+43
| | | | Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* greenio: When we mark a socket as closed we still need to be able to close itMichael Kerrin2014-08-281-19/+1
| | | | | | | | | | | | | https://github.com/eventlet/eventlet/issues/122 After a long running job that highlighted a previous known issue with Second Simultaneous Read issue I used http://mg.pov.lt/objgraph/ to print out all the types and counts still referenced by the GC. Before this patch I was seeing GreenSocket and _socketobject types been referenced. Depending on how long I ran the test job for I saw more references to these objects. After this patch I see no reference no matter how long I run my test for.
* PEP-8 fixesSergey Shepelev2014-08-2755-297/+469
|
* wsgi: Support optional headers w/ "100 Continue" responsesTushar Gohad2014-08-241-10/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since WSGI is all about a single response to a single request, in order for servers to process a PUT as a single HTTP request and at the same time pass **hints** back to the client (for example, a payload type that the server can accept, or to inform the client that the server expects to receive payload metadata at the end of the payload transfer, etc), "100 Continue" response headers is pretty much only place to add these hints. This is consistent with **RFC2616, section 10.1**: 10.1 Informational 1xx This class of status code indicates a provisional response, consisting only of the **Status-Line** and **optional headers**, and is terminated by an empty line. Openstack Swift has an immediate use case for this feature where the object server will use an "Accept-Payload-Footer: 1" like header to hint the proxy server to send a payload footer after it has finished transmitting the payload (for sending metadata for an erasure coded or encrypted payload, enforcing end-to-end Etag checks, etc). Addresses eventlet issue/enhancement #126 Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
* Fix octal literalSimon Jagoe2014-08-191-2/+2
|
* Bump version to 0.16.0.devSergey Shepelev2014-08-151-1/+1
|