|
1 | | -from typing import Optional |
| 1 | +from typing import List, Optional |
2 | 2 |
|
3 | 3 | from requests import Session |
4 | 4 |
|
|
10 | 10 |
|
11 | 11 | class GraphClient: |
12 | 12 | """Constructs a custom HTTPClient to be used for requests against Microsoft Graph""" |
13 | | - def __init__( |
14 | | - self, credential: Optional[TokenCredential], session: Optional[Session], |
15 | | - middleware: Optional[[BaseMiddleware]], **kwargs |
16 | | - ): |
| 13 | + def __init__(self, **kwargs): |
17 | 14 | """ |
18 | 15 | Class constructor that accepts a session object and kwargs to |
19 | 16 | be passed to the HTTPClientFactory |
20 | 17 | """ |
21 | | - self.graph_session = get_graph_session(credential, session, middleware, **kwargs) |
| 18 | + self.graph_session = get_graph_session(**kwargs) |
22 | 19 |
|
23 | 20 | @middleware_control.get_middleware_options |
24 | 21 | def get(self, url: str, **kwargs): |
@@ -83,22 +80,21 @@ def _graph_url(self, url: str) -> str: |
83 | 80 | _INSTANCE = None |
84 | 81 |
|
85 | 82 |
|
86 | | -def get_graph_session( |
87 | | - credential: Optional[TokenCredential], session: Optional[Session], |
88 | | - middleware: Optional[[BaseMiddleware]], **kwargs |
89 | | -): |
| 83 | +def get_graph_session(**kwargs): |
90 | 84 | """Method to always return a single instance of a HTTP Client""" |
| 85 | + |
91 | 86 | global _INSTANCE |
92 | 87 |
|
| 88 | + credential = kwargs.get('credential') |
| 89 | + middleware = kwargs.get('middleware') |
| 90 | + |
93 | 91 | if credential and middleware: |
94 | 92 | raise Exception("Invalid parameters! Both TokenCredential and middleware cannot be passed") |
95 | 93 | if not credential and not middleware: |
96 | 94 | raise ValueError("Invalid parameters!. Missing TokenCredential or middleware") |
97 | 95 | if _INSTANCE is None: |
98 | 96 | if credential: |
99 | | - _INSTANCE = HTTPClientFactory(session, |
100 | | - **kwargs).create_with_default_middleware(credential) |
| 97 | + _INSTANCE = HTTPClientFactory(**kwargs).create_with_default_middleware(credential) |
101 | 98 | elif middleware: |
102 | | - _INSTANCE = HTTPClientFactory(session, |
103 | | - **kwargs).create_with_custom_middleware(middleware) |
| 99 | + _INSTANCE = HTTPClientFactory(**kwargs).create_with_custom_middleware(middleware) |
104 | 100 | return _INSTANCE |
0 commit comments