From 29ba36cb0cecdc3205ca37a975df7d590865d0c2 Mon Sep 17 00:00:00 2001 From: Brian Ray Date: Mon, 26 Sep 2011 14:48:33 -0500 Subject: [PATCH] I was running into CannotSendRequest exception from httplib so modified code like this http://stackoverflow.com/questions/5346434/python-cannotsendrequest/5346486#5346486 --- socialauth/lib/oauthtwitter2.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/socialauth/lib/oauthtwitter2.py b/socialauth/lib/oauthtwitter2.py index 92577f7..a3995fe 100644 --- a/socialauth/lib/oauthtwitter2.py +++ b/socialauth/lib/oauthtwitter2.py @@ -19,15 +19,12 @@ #CONSUMER_KEY = settings.TWITTER_CONSUMER_KEY #CONSUMER_SECRET = settings.TWITTER_CONSUMER_SECRET -def connection(): - try:return connection._connection - except AttributeError: - connection._connection = httplib.HTTPSConnection(TWITTER_URL) - return connection._connection - def oauth_response(req): - connection().request(req.http_method, req.to_url()) - return connection().getresponse().read() + connection = httplib.HTTPSConnection(TWITTER_URL) + connection.request(req.http_method, req.to_url()) + response = connection.getresponse().read() + connection.close() + return response class TwitterOAuthClient(oauth.OAuthClient): def __init__(self, consumer_key, consumer_secret, request_token_url=REQUEST_TOKEN_URL, access_token_url=ACCESS_TOKEN_URL, authorization_url=AUTHORIZATION_URL): @@ -67,9 +64,11 @@ def access_resource(self, oauth_request): # via post body # -> some protected resources headers = {'Content-Type' :'application/x-www-form-urlencoded'} - self.connection.request('POST', RESOURCE_URL, body=oauth_request.to_postdata(), headers=headers) - response = self.connection.getresponse() - return response.read() + connection = httplib.HTTPSConnection(TWITTER_URL) + connection.request('POST', RESOURCE_URL, body=oauth_request.to_postdata(), headers=headers) + response = connection.getresponse().read() + connection.close() + return response def run_example():