| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
GreenPipe will most likely need to be rewritten for Python 3 but this'll
do for some cases
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -
Closes GH #194
|
| | |
|
| | |
|
| |
|
|
| |
https://github.com/eventlet/eventlet/issues/177
|
| | |
|
| |
|
|
| |
The importlib module must use real thread locks, not eventlet.Semaphore.
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| |
|
|
| |
Closes #161 (GH)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
| |
Closes #137
Closes #148
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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).
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
This is connected to GH #135 and BitBucket #165
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Closes GH #144
|
| | |
|
| |
|
|
| |
Fixes https://github.com/eventlet/eventlet/issues/123
|
| | |
|
| | |
|
| |
|
|
| |
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| | |
|