@@ -319,7 +319,7 @@ class Request(dict):
319
319
version = OAUTH_VERSION
320
320
321
321
def __init__ (self , method = HTTP_METHOD , url = None , parameters = None ,
322
- body = None , is_form_encoded = False ):
322
+ body = '' , is_form_encoded = False ):
323
323
if url is not None :
324
324
self .url = to_unicode (url )
325
325
self .method = method
@@ -517,7 +517,7 @@ def from_request(cls, http_method, http_url, headers=None, parameters=None,
517
517
@classmethod
518
518
def from_consumer_and_token (cls , consumer , token = None ,
519
519
http_method = HTTP_METHOD , http_url = None , parameters = None ,
520
- body = None , is_form_encoded = False ):
520
+ body = '' , is_form_encoded = False ):
521
521
if not parameters :
522
522
parameters = {}
523
523
@@ -603,7 +603,7 @@ def set_signature_method(self, method):
603
603
604
604
self .method = method
605
605
606
- def request (self , uri , method = "GET" , body = None , headers = None ,
606
+ def request (self , uri , method = "GET" , body = '' , headers = None ,
607
607
redirections = httplib2 .DEFAULT_MAX_REDIRECTS , connection_type = None ):
608
608
DEFAULT_POST_CONTENT_TYPE = 'application/x-www-form-urlencoded'
609
609
@@ -628,12 +628,21 @@ def request(self, uri, method="GET", body=None, headers=None,
628
628
629
629
req .sign_request (self .method , self .consumer , self .token )
630
630
631
+ schema , rest = urllib .splittype (uri )
632
+ if rest .startswith ('//' ):
633
+ hierpart = '//'
634
+ else :
635
+ hierpart = ''
636
+ host , rest = urllib .splithost (rest )
637
+
638
+ realm = schema + ':' + hierpart + host
639
+
631
640
if is_form_encoded :
632
641
body = req .to_postdata ()
633
642
elif method == "GET" :
634
643
uri = req .to_url ()
635
644
else :
636
- headers .update (req .to_header ())
645
+ headers .update (req .to_header (realm = realm ))
637
646
638
647
return httplib2 .Http .request (self , uri , method = method , body = body ,
639
648
headers = headers , redirections = redirections ,
0 commit comments