File tree Expand file tree Collapse file tree 3 files changed +38
-6
lines changed
Expand file tree Collapse file tree 3 files changed +38
-6
lines changed Original file line number Diff line number Diff line change 11import ssl
2+ import uuid
23
34from requests .adapters import HTTPAdapter
45from urllib3 import PoolManager
56
7+ from msgraphcore .middleware .request_context import RequestContext
8+
69
710class MiddlewarePipeline (HTTPAdapter ):
811 """MiddlewarePipeline, entry point of middleware
@@ -22,6 +25,9 @@ def add_middleware(self, middleware):
2225 self ._middleware = middleware
2326
2427 def send (self , request , ** kwargs ):
28+
29+ request .context = RequestContext (request )
30+
2531 if self ._middleware_present ():
2632 return self ._middleware .send (request , ** kwargs )
2733 # No middleware in pipeline, call superclass' send
Original file line number Diff line number Diff line change 11from msgraphcore .constants import AUTH_MIDDLEWARE_OPTIONS
2-
3- from .auth_middleware_options import AuthMiddlewareOptions
2+ from msgraphcore .middleware .options .auth_middleware_options import AuthMiddlewareOptions
43
54
65class MiddlewareControl :
@@ -18,10 +17,12 @@ def get_middleware_options(self, func):
1817
1918 def wrapper (* args , ** kwargs ):
2019 # Get middleware options from **kwargs
21- scopes = kwargs .pop ('scopes' , None )
22- if scopes :
23- # Set middleware options, for use by middleware in the middleware pipeline
24- self .set (AUTH_MIDDLEWARE_OPTIONS , AuthMiddlewareOptions (scopes ))
20+ middleware_options = kwargs .pop ('middleware_options' , None )
21+ if middleware_options :
22+ scopes = middleware_options .get ('scopes' , None )
23+ if scopes :
24+ # Set middleware options, for use by middleware in the middleware pipeline
25+ self .set (AUTH_MIDDLEWARE_OPTIONS , AuthMiddlewareOptions (scopes ))
2526 return func (* args , ** kwargs )
2627
2728 return wrapper
Original file line number Diff line number Diff line change 1+ import uuid
2+
3+ from msgraphcore .middleware .options .middleware_control import middleware_control
4+
5+
6+ class RequestContext :
7+ NONE_FLAG = 0
8+ REDIRECT_HANDLER_ENABLED_FLAG = 1
9+ RETRY_HANDLER_ENABLED_FLAG = 2
10+ AUTH_HANDLER_ENABLED_FLAG = 4
11+ DEFAULT_HTTPROVIDER_ENABLED_FLAG = 8
12+ LOGGING_HANDLER_ENABLED_FLAG = 10
13+
14+ def __init__ (self , request ):
15+ self .middleware_control = middleware_control
16+ self .client_request_id = request .headers .get ('client-request-id' , str (uuid .uuid4 ()))
17+ self ._feature_usage = self .NONE_FLAG
18+
19+ @property
20+ def feature_usage (self ):
21+ return hex (self ._feature_usage )
22+
23+ @feature_usage .setter
24+ def set_feature_usage (self , flag ):
25+ self ._feature_usage = self .feature_usage | flag
You can’t perform that action at this time.
0 commit comments