@@ -24,6 +24,8 @@ def __init__(self, api_token: str, workspace_id: int, **kwargs):
24
24
self .headers = dict (Toggl .API_HEADERS )
25
25
self .headers .update (self ._authorization_header ())
26
26
27
+ self .session = requests .Session ()
28
+ self .session .headers .update (self .headers )
27
29
self .timeout = int (kwargs .get ("timeout" , 5 ))
28
30
29
31
@property
@@ -47,7 +49,7 @@ def _make_report_url(self, endpoint: str):
47
49
"""
48
50
return "/" .join ((Toggl .API_BASE_URL , Toggl .API_REPORTS_BASE_URL , self .workspace_url_fragment , endpoint ))
49
51
50
- def detailed_time_entries (self , start_date : datetime , end_date : datetime , ** kwargs ):
52
+ def detailed_time_entries (self , start_date : datetime , end_date : datetime , ** kwargs ) -> requests . Response :
51
53
"""Request a CSV report from Toggl of detailed time entries for the given date range.
52
54
53
55
Args:
@@ -104,7 +106,7 @@ def post_reports(self, endpoint: str, **kwargs) -> requests.Response:
104
106
"""
105
107
url = self ._make_report_url (endpoint )
106
108
107
- response = requests .post (url , json = kwargs , timeout = self .timeout )
109
+ response = self . session .post (url , json = kwargs , timeout = self .timeout )
108
110
response .raise_for_status ()
109
111
110
112
return response
0 commit comments