newclient.py cookies and POST

The following patch fixes cookies and POST requests for Quotient/quotient/web/newclient.py (diff'd against latest CVS). I gracefully stole from twisted/web/client.py because the original attempt didn't work for more than one cookie on newclient.py. Enjoy it, jeff --- Quotient/quotient/web/newclient.py 2003-12-28 15:03:35.000000000 +0800 +++ newclient.py 2003-12-28 15:18:02.000000000 +0800 @@ -103,7 +103,7 @@ def sendHeaders(connection, req): if req.has_data(): data = req.get_data() - connection.sendCommand('POST', requ.get_selector()) + connection.sendCommand('POST', req.get_selector()) if not req.headers.has_key('Content-type'): connection.sendHeader('Content-type', 'application/x-www-form-urlencoded') @@ -146,8 +146,11 @@ factory = ClientFactory(self.cookies) self.callMethod('connect_'+request.get_type(), request, factory) d = factory.connection - for cookie in self.cookies: - request.add_header("Cookie", '='.join([cookie, self.cookies[cookie]])) + if self.cookies: + l=[] + for cookie, cookval in self.cookies.items(): + l.append('%s=%s' % (cookie, cookval)) + request.add_header("Cookie", "; ".join(l)) request.add_header('Referer', self.referrer) self.referrer = request.get_full_url() d.addCallback(sendHeaders, request) __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree
participants (1)
-
Jeff Pitman