From f18733d2be4a9c3d0d3ceea31be9e191c05f21d6 Mon Sep 17 00:00:00 2001 From: Andrew Tolbert Date: Wed, 22 Aug 2012 09:49:40 -0500 Subject: [PATCH] Fix for #804 - Session params ommited in 0.13.8. If default_kwarg is a list, attempt to convert to dictionary --- requests/sessions.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/requests/sessions.py b/requests/sessions.py index cd05490..1f46688 100644 --- a/requests/sessions.py +++ b/requests/sessions.py @@ -34,14 +34,23 @@ def merge_kwargs(local_kwarg, default_kwarg): if local_kwarg is None: return default_kwarg + kwargs = default_kwarg + # If default_kwargs is a list rather than a dictionary attempt to convert + # to dictionary. If the check fails, return local_kwargs. + if isinstance(default_kwarg, list): + try: + kwargs = dict(kwargs) + except ValueError: + return local_kwarg + # Bypass if not a dictionary (e.g. timeout) - if not hasattr(default_kwarg, 'items'): + if not hasattr(kwargs, 'items'): return local_kwarg local_kwarg = to_key_val_list(local_kwarg) # Update new values. - kwargs = default_kwarg.copy() + kwargs = kwargs.copy() kwargs.update(local_kwarg) # Remove keys that are set to None. -- 2.34.1