Skip to content

Commit 88752b6

Browse files
rickykim93mattlisiv
authored andcommitted
Added custom session option for proxies (#43)
* option to add custom session to NewsApiClient * session only if requested
1 parent 46bb214 commit 88752b6

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

newsapi/newsapi_client.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@
77

88
class NewsApiClient(object):
99

10-
def __init__(self, api_key):
10+
def __init__(self, api_key, session=None):
1111
self.auth = NewsApiAuth(api_key=api_key)
12+
if session is None:
13+
self.request_method = requests
14+
else:
15+
self.request_method = session
1216

1317
def get_top_headlines(self, q=None, sources=None, language='en', country=None, category=None, page_size=None,
1418
page=None):
@@ -113,7 +117,7 @@ def get_top_headlines(self, q=None, sources=None, language='en', country=None, c
113117
raise TypeError('page param should be an int')
114118

115119
# 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)
117121

118122
# Check Status of Request
119123
if r.status_code != requests.codes.ok:
@@ -255,7 +259,7 @@ def get_everything(self, q=None, sources=None, domains=None, exclude_domains=Non
255259
raise TypeError('page param should be an int')
256260

257261
# 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)
259263

260264
# Check Status of Request
261265
if r.status_code != requests.codes.ok:
@@ -318,7 +322,7 @@ def get_sources(self, category=None, language=None, country=None):
318322
raise TypeError('category param should be of type str')
319323

320324
# 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)
322326

323327
# Check Status of Request
324328
if r.status_code != requests.codes.ok:

0 commit comments

Comments
 (0)