|
7 | 7 |
|
8 | 8 | class NewsApiClient(object): |
9 | 9 |
|
10 | | - def __init__(self, api_key): |
| 10 | + def __init__(self, api_key, session=None): |
11 | 11 | self.auth = NewsApiAuth(api_key=api_key) |
| 12 | + if session is None: |
| 13 | + self.request_method = requests |
| 14 | + else: |
| 15 | + self.request_method = session |
12 | 16 |
|
13 | 17 | def get_top_headlines(self, q=None, sources=None, language='en', country=None, category=None, page_size=None, |
14 | 18 | page=None): |
@@ -113,7 +117,7 @@ def get_top_headlines(self, q=None, sources=None, language='en', country=None, c |
113 | 117 | raise TypeError('page param should be an int') |
114 | 118 |
|
115 | 119 | # Send Request |
116 | | - r = requests.get(const.TOP_HEADLINES_URL, auth=self.auth, timeout=30, params=payload) |
| 120 | + r = self.request_method.get(const.TOP_HEADLINES_URL, auth=self.auth, timeout=30, params=payload) |
117 | 121 |
|
118 | 122 | # Check Status of Request |
119 | 123 | if r.status_code != requests.codes.ok: |
@@ -255,7 +259,7 @@ def get_everything(self, q=None, sources=None, domains=None, exclude_domains=Non |
255 | 259 | raise TypeError('page param should be an int') |
256 | 260 |
|
257 | 261 | # Send Request |
258 | | - r = requests.get(const.EVERYTHING_URL, auth=self.auth, timeout=30, params=payload) |
| 262 | + r = self.request_method.get(const.EVERYTHING_URL, auth=self.auth, timeout=30, params=payload) |
259 | 263 |
|
260 | 264 | # Check Status of Request |
261 | 265 | if r.status_code != requests.codes.ok: |
@@ -318,7 +322,7 @@ def get_sources(self, category=None, language=None, country=None): |
318 | 322 | raise TypeError('category param should be of type str') |
319 | 323 |
|
320 | 324 | # Send Request |
321 | | - r = requests.get(const.SOURCES_URL, auth=self.auth, timeout=30, params=payload) |
| 325 | + r = self.request_method.get(const.SOURCES_URL, auth=self.auth, timeout=30, params=payload) |
322 | 326 |
|
323 | 327 | # Check Status of Request |
324 | 328 | if r.status_code != requests.codes.ok: |
|
0 commit comments