Skip to content

Commit 3a71196

Browse files
committed
Merge branch 'experiment/request-context' of github.com:microsoftgraph/msgraph-sdk-python-core into experiment/request-context
2 parents fcd0b59 + 75c76fc commit 3a71196

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

msgraphcore/graph_client.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
from msgraphcore.middleware.request_context import RequestContext
33
from typing import List, Optional
44

5-
from requests import Session
6-
from requests import PreparedRequest
7-
from requests import Request
5+
from requests import Request, Session
86

97
from msgraphcore.client_factory import HTTPClientFactory
108
from msgraphcore.middleware.abc_token_credential import TokenCredential
@@ -15,16 +13,15 @@
1513

1614
def attach_context(func):
1715
def wrapper(*args, **kwargs):
18-
mw_control = dict()
19-
headers = kwargs.pop('headers', {})
16+
middleware_control = dict()
2017

2118
for option in supported_options:
22-
mw_option = kwargs.pop(option, None)
19+
value = kwargs.pop(option, None)
20+
if value:
21+
middleware_control.update({option: value})
2322

24-
if mw_option:
25-
mw_control.update({option: mw_option})
26-
27-
req_context = RequestContext(mw_control, headers)
23+
headers = kwargs.get('headers', {})
24+
req_context = RequestContext(middleware_control, headers)
2825

2926
request = func(*args, **kwargs)
3027
request.context = req_context
@@ -79,7 +76,8 @@ def put(self, url, data=None, **kwargs):
7976
:param \*\*kwargs: Optional arguments that ``request`` takes.
8077
:rtype: requests.Response
8178
"""
82-
return self.graph_session.put(self._graph_url(url), data, **kwargs)
79+
prepped_req = self.prepare_request('PUT', self._graph_url(url), **kwargs)
80+
return self.graph_session.send(prepped_req)
8381

8482
def patch(self, url, data=None, **kwargs):
8583
r"""Sends a PATCH request. Returns :class:`Response` object.
@@ -89,15 +87,17 @@ def patch(self, url, data=None, **kwargs):
8987
:param \*\*kwargs: Optional arguments that ``request`` takes.
9088
:rtype: requests.Response
9189
"""
92-
return self.graph_session.patch(self._graph_url(url), data, **kwargs)
90+
prepped_req = self.prepare_request('PATCH', self._graph_url(url), **kwargs)
91+
return self.graph_session.send(prepped_req)
9392

9493
def delete(self, url, **kwargs):
9594
r"""Sends a DELETE request. Returns :class:`Response` object.
9695
:param url: URL for the new :class:`Request` object.
9796
:param \*\*kwargs: Optional arguments that ``request`` takes.
9897
:rtype: requests.Response
9998
"""
100-
return self.graph_session.delete(self._graph_url(url), **kwargs)
99+
prepped_req = self.prepare_request('DELETE', self._graph_url(url), **kwargs)
100+
return self.graph_session.send(prepped_req)
101101

102102
def _graph_url(self, url: str) -> str:
103103
"""Appends BASE_URL to user provided path

msgraphcore/middleware/middleware.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ def add_middleware(self, middleware):
2525
self._middleware = middleware
2626

2727
def send(self, request, **kwargs):
28+
29+
if not hasattr(request, 'context'):
30+
headers = request.headers
31+
request.context = RequestContext(dict(), headers)
32+
2833
if self._middleware_present():
2934
return self._middleware.send(request, **kwargs)
3035
# No middleware in pipeline, call superclass' send

msgraphcore/middleware/request_context.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,4 @@ def feature_usage(self):
1616

1717
@feature_usage.setter
1818
def set_feature_usage(self, flag: FeatureUsageFlag):
19-
print(type(self._feature_usage))
2019
self._feature_usage = self._feature_usage | flag

0 commit comments

Comments
 (0)