@@ -447,10 +447,12 @@ def delete(self, uri, **kwargs):
447447 :type partition: str
448448 :param \**kwargs: The :meth:`reqeusts.Session.delete` optional params
449449 """
450- req = requests .Request ('DELETE' , uri , ** kwargs )
450+ args1 = get_request_args (kwargs )
451+ args2 = get_send_args (kwargs )
452+ req = requests .Request ('DELETE' , uri , ** args1 )
451453 prepared = self .session .prepare_request (req )
452454 self ._debug .append (debug_prepared_request (prepared ))
453- return self .session .send (prepared )
455+ return self .session .send (prepared , ** args2 )
454456
455457 @decorate_HTTP_verb_method
456458 def get (self , uri , ** kwargs ):
@@ -472,10 +474,12 @@ def get(self, uri, **kwargs):
472474 :type partition: str
473475 :param \**kwargs: The :meth:`reqeusts.Session.get` optional params
474476 """
475- req = requests .Request ('GET' , uri , ** kwargs )
477+ args1 = get_request_args (kwargs )
478+ args2 = get_send_args (kwargs )
479+ req = requests .Request ('GET' , uri , ** args1 )
476480 prepared = self .session .prepare_request (req )
477481 self ._debug .append (debug_prepared_request (prepared ))
478- return self .session .send (prepared )
482+ return self .session .send (prepared , ** args2 )
479483
480484 @decorate_HTTP_verb_method
481485 def patch (self , uri , data = None , ** kwargs ):
@@ -499,10 +503,12 @@ def patch(self, uri, data=None, **kwargs):
499503 :type partition: str
500504 :param \**kwargs: The :meth:`reqeusts.Session.patch` optional params
501505 """
502- req = requests .Request ('PATCH' , uri , data = data , ** kwargs )
506+ args1 = get_request_args (kwargs )
507+ args2 = get_send_args (kwargs )
508+ req = requests .Request ('PATCH' , uri , data = data , ** args1 )
503509 prepared = self .session .prepare_request (req )
504510 self ._debug .append (debug_prepared_request (prepared ))
505- return self .session .send (prepared )
511+ return self .session .send (prepared , ** args2 )
506512
507513 @decorate_HTTP_verb_method
508514 def post (self , uri , data = None , json = None , ** kwargs ):
@@ -528,10 +534,12 @@ def post(self, uri, data=None, json=None, **kwargs):
528534 :type partition: str
529535 :param \**kwargs: The :meth:`reqeusts.Session.post` optional params
530536 """
531- req = requests .Request ('POST' , uri , data = data , json = json , ** kwargs )
537+ args1 = get_request_args (kwargs )
538+ args2 = get_send_args (kwargs )
539+ req = requests .Request ('POST' , uri , data = data , json = json , ** args1 )
532540 prepared = self .session .prepare_request (req )
533541 self ._debug .append (debug_prepared_request (prepared ))
534- return self .session .send (prepared )
542+ return self .session .send (prepared , ** args2 )
535543
536544 @decorate_HTTP_verb_method
537545 def put (self , uri , data = None , ** kwargs ):
@@ -557,10 +565,12 @@ def put(self, uri, data=None, **kwargs):
557565 :type partition: str
558566 :param **kwargs: The :meth:`reqeusts.Session.put` optional params
559567 """
560- req = requests .Request ('PUT' , uri , data = data , ** kwargs )
568+ args1 = get_request_args (kwargs )
569+ args2 = get_send_args (kwargs )
570+ req = requests .Request ('PUT' , uri , data = data , ** args1 )
561571 prepared = self .session .prepare_request (req )
562572 self ._debug .append (debug_prepared_request (prepared ))
563- return self .session .send (prepared )
573+ return self .session .send (prepared , ** args2 )
564574
565575 def append_user_agent (self , user_agent ):
566576 """Append text to the User-Agent header for the request.
@@ -599,7 +609,24 @@ def debug_prepared_request(request):
599609 result = "curl -k -X {0} {1}" .format (request .method .upper (), request .url )
600610 for k , v in iteritems (request .headers ):
601611 result = result + " -H '{0}: {1}'" .format (k , v )
602- if request .body :
603- kwargs = json .loads (request .body )
604- result = result + " -d '" + json .dumps (kwargs , sort_keys = True ) + "'"
612+ if any (v == 'application/json' for k , v in iteritems (request .headers )):
613+ if request .body :
614+ kwargs = json .loads (request .body )
615+ result = result + " -d '" + json .dumps (kwargs , sort_keys = True ) + "'"
616+ return result
617+
618+
619+ def get_send_args (kwargs ):
620+ result = []
621+ for arg in ['stream' , 'timeout' , 'verify' , 'cert' , 'proxies' ]:
622+ result .append ((arg , kwargs .pop (arg , None )))
623+ result = dict ([(k , v ) for k , v in result if v is not None ])
624+ return result
625+
626+
627+ def get_request_args (kwargs ):
628+ result = []
629+ for arg in ['headers' , 'files' , 'data' , 'json' , 'params' , 'auth' , 'cookies' , 'hooks' ]:
630+ result .append ((arg , kwargs .pop (arg , None )))
631+ result = dict ([(k , v ) for k , v in result if v is not None ])
605632 return result
0 commit comments