You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee=Noneclosed_at=<Date2009-09-14.11:16:01.210>created_at=<Date2007-08-03.23:16:55.000>labels= ['type-bug', 'library']
title='Make xmlrpc use HTTP/1.1 and keepalive'updated_at=<Date2009-09-14.11:16:01.209>user='https://github.com/dbaarda'
This patch is being submitted by me on behalf of someone else who wrote it. The patch as provided to me was against python2.5. I have applied and regenerated this patch against the current svn trunk. I have not tested it, but the author is using it and reports that it is working well.
As the summary indicates, it makes xmlrpc use HTTP/1.1 keepalive with, which makes it much more efficient. I believe it also ads improved buffering.
I'm not going to pretend I understand the changes. I do notice
that test_docxmlrpc hangs hard on my Mac (doesn't even respond to
Ctl-C). DocXMLRPCServer subclasses from SimpleXMLRPCServer, so I
suspect it needs some attention. I tried the obvious replacement
of self.wfile.* with the analogs from SimpleXMLRPCServer but that
didn't help. Also, the API for the xmlrpclib.Transport class's
send_request method changed and parse_response disappeared completely
even though the docstring for the Transport class explicitly mentions
subclassing it.
dbaarda commented on May 15, 2008
dbaardamannequin
MannequinAuthor
More actions
One more time... this time after adding correct email addresses to my
existing account...
I made this patch works against trunk, also i'v fixed some typos.
Sorry for not responding to this earlier...
I didn't write this patch, but submitted it on behalf of the original
author (Cc'ed on this email). I spoke to him about getting this patch
updated, and he said that he has made some more improvements and fixes
since I submitted it.
I will try to get him to produce a new patch, but he (and I) are both
very busy on other things, so I suspect you guys will be able to polish
up what is already there before we manage to pull something together...
We would need the copyright holder of the patch to submit a contributor
form. Would that be possible?
he works for Google ([email protected]), and so do I ([email protected])... I
think Google has some sort of company wide contributor agreement, and I
faintly recall signing something before I started working at Google...
krabbe also has a more recent version of this patch that we both keep
failing to submit..
Please let me know if he still needs to sign something, and I'll try to
get him to submit his most recent version of this...
If this is under the Google agreement, then it's fine (I think). It's
just that we can't accept anonymous contributions (even if made through
a known middleman).
jonozzz commented on Sep 1, 2008
jonozzzmannequin
Mannequin
More actions
Note that win32 Python's socket module doesn't have a MSG_DONTWAIT
constant defined. So the following code will fail on windows machines.
I am very intereasted about this patch... specially about the keep-alive
part...
I have a proposition... wouldn't be fair enough to have a separated
Transport just for keep-alive connections?
Activity
dbaarda commentedon Aug 3, 2007
This patch is being submitted by me on behalf of someone else who wrote it. The patch as provided to me was against python2.5. I have applied and regenerated this patch against the current svn trunk. I have not tested it, but the author is using it and reports that it is working well.
As the summary indicates, it makes xmlrpc use HTTP/1.1 keepalive with, which makes it much more efficient. I believe it also ads improved buffering.
smontanaro commentedon Apr 22, 2008
Donovan, can you recreate this patch using the current Subversion trunk?
The patch program complains:
trunk.2/Lib/SimpleXMLRPCServer.py
Thanks,
Skip
rhettinger commentedon Apr 22, 2008
Also, please post the patch in uncompressed form.
Reflejo commentedon May 13, 2008
I made this patch works against trunk, also i'v fixed some typos.
smontanaro commentedon May 13, 2008
I'm not going to pretend I understand the changes. I do notice
that test_docxmlrpc hangs hard on my Mac (doesn't even respond to
Ctl-C). DocXMLRPCServer subclasses from SimpleXMLRPCServer, so I
suspect it needs some attention. I tried the obvious replacement
of self.wfile.* with the analogs from SimpleXMLRPCServer but that
didn't help. Also, the API for the xmlrpclib.Transport class's
send_request method changed and parse_response disappeared completely
even though the docstring for the Transport class explicitly mentions
subclassing it.
dbaarda commentedon May 15, 2008
One more time... this time after adding correct email addresses to my
existing account...
Martín Conte Mac Donell wrote:
Sorry for not responding to this earlier...
I didn't write this patch, but submitted it on behalf of the original
author (Cc'ed on this email). I spoke to him about getting this patch
updated, and he said that he has made some more improvements and fixes
since I submitted it.
I will try to get him to produce a new patch, but he (and I) are both
very busy on other things, so I suspect you guys will be able to polish
up what is already there before we manage to pull something together...
I will give him another poke tomorrow...
marhar commentedon Jul 21, 2008
There's a one-line change necessary in BaseHTTPServer.py.
s/socketserver/SocketServer/ on this line:
+ socketserver.StreamRequestHandler.__init__(self, request,
client_address, parent)
+ SocketServer.StreamRequestHandler.__init__(self, request,
client_address, parent)
Other than that it seems to work well. The client side xmlrpc
code even does the right thing with an apache-based server.
I copied just the patched files to a standalone directory and
it works for Python 2.4 as well, if sys.path picks up that
directory first.
loewis commentedon Jul 22, 2008
We would need the copyright holder of the patch to submit a contributor
form. Would that be possible?
dbaarda commentedon Jul 24, 2008
On Tue, July 22, 2008 05:21, Martin v. Löwis wrote:
he works for Google ([email protected]), and so do I ([email protected])... I
think Google has some sort of company wide contributor agreement, and I
faintly recall signing something before I started working at Google...
krabbe also has a more recent version of this patch that we both keep
failing to submit..
Please let me know if he still needs to sign something, and I'll try to
get him to submit his most recent version of this...
Reflejo commentedon Jul 24, 2008
I've signed and faxed the form. Just in case.
Martin.
loewis commentedon Jul 25, 2008
If this is under the Google agreement, then it's fine (I think). It's
just that we can't accept anonymous contributions (even if made through
a known middleman).
jonozzz commentedon Sep 1, 2008
Note that win32 Python's socket module doesn't have a MSG_DONTWAIT
constant defined. So the following code will fail on windows machines.
+ self.__connection.sock.recv(1,
+ socket.MSG_PEEK |
+ socket.MSG_DONTWAIT)
Good job with this patch. It would've been interesting to have a flag to
switch to old http1.0 and see the differences in terms of performance.
Ionut
williambr commentedon Jan 10, 2009
Hi.
I am very intereasted about this patch... specially about the keep-alive
part...
I have a proposition... wouldn't be fair enough to have a separated
Transport just for keep-alive connections?
I could wirte one if no one is against it...
vstinner commentedon Sep 14, 2009
I think that this issue is a duplicate of bpo-6267 which is already commited to
Python trunk. bpo-6267 is a superset of bpo-6099.
See also bpo-2076 (another duplicate of bpo-6267 ?).
kristjanvalur commentedon Sep 14, 2009
Yes, it is indeed a duplicate.