From e1cc288f65596696ce8fd1ddc98302518d6cb701 Mon Sep 17 00:00:00 2001
From: tosher <to.tosher@gmail.com>
Date: Thu, 5 May 2016 00:35:11 +0300
Subject: [PATCH] [#105] Support passing custom parameters to Requests

---
 mwclient/client.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/mwclient/client.py b/mwclient/client.py
index 0594c54..7a64d2c 100644
--- a/mwclient/client.py
+++ b/mwclient/client.py
@@ -54,7 +54,8 @@ class Site(object):
 
     def __init__(self, host, path='/w/', ext='.php', pool=None, retry_timeout=30,
                  max_retries=25, wait_callback=lambda *x: None, clients_useragent=None,
-                 max_lag=3, compress=True, force_login=True, do_init=True, httpauth=None):
+                 max_lag=3, compress=True, force_login=True, do_init=True, httpauth=None,
+                 requests=None):
         # Setup member variables
         self.host = host
         self.path = path
@@ -63,6 +64,7 @@ class Site(object):
         self.compress = compress
         self.max_lag = text_type(max_lag)
         self.force_login = force_login
+        self.requests = requests or {}
 
         if isinstance(httpauth, (list, tuple)):
             self.httpauth = HTTPBasicAuth(*httpauth)
@@ -272,7 +274,7 @@ class Site(object):
             fullurl = '{scheme}://{host}{url}'.format(scheme=scheme, host=host, url=url)
 
             try:
-                stream = self.connection.post(fullurl, data=data, files=files, headers=headers)
+                stream = self.connection.post(fullurl, data=data, files=files, headers=headers, **self.requests)
                 if stream.headers.get('x-database-lag'):
                     wait_time = int(stream.headers.get('retry-after'))
                     log.warning('Database lag exceeds max lag. Waiting for %d seconds', wait_time)
-- 
GitLab