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 1
1
import ssl
2
+ import uuid
2
3
3
4
from requests .adapters import HTTPAdapter
4
5
from urllib3 import PoolManager
5
6
7
+ from msgraphcore .middleware .request_context import RequestContext
8
+
6
9
7
10
class MiddlewarePipeline (HTTPAdapter ):
8
11
"""MiddlewarePipeline, entry point of middleware
@@ -22,6 +25,9 @@ def add_middleware(self, middleware):
22
25
self ._middleware = middleware
23
26
24
27
def send (self , request , ** kwargs ):
28
+
29
+ request .context = RequestContext (request )
30
+
25
31
if self ._middleware_present ():
26
32
return self ._middleware .send (request , ** kwargs )
27
33
# No middleware in pipeline, call superclass' send
Original file line number Diff line number Diff line change 1
1
from msgraphcore .constants import AUTH_MIDDLEWARE_OPTIONS
2
-
3
- from .auth_middleware_options import AuthMiddlewareOptions
2
+ from msgraphcore .middleware .options .auth_middleware_options import AuthMiddlewareOptions
4
3
5
4
6
5
class MiddlewareControl :
@@ -18,10 +17,12 @@ def get_middleware_options(self, func):
18
17
19
18
def wrapper (* args , ** kwargs ):
20
19
# 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 ))
25
26
return func (* args , ** kwargs )
26
27
27
28
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