@@ -135,9 +135,16 @@ def __call__(self, environ, start_response):
135
135
136
136
req = Request (environ )
137
137
138
- # determine initiator based on token
139
- initiator_project_id , initiator_project_domain_id , initiator_domain_id , initiator_user_id , \
140
- initiator_user_domain_id = self .get_initiator_project_domain_user_uid_from_environ (environ )
138
+ # determine initiator based on token context
139
+ initiator_project_id = environ .get ('HTTP_X_PROJECT_ID' , taxonomy .UNKNOWN )
140
+ initiator_project_name = environ .get ('HTTP_X_PROJECT_NAME' , taxonomy .UNKNOWN )
141
+ initiator_project_domain_id = environ .get ('HTTP_X_PROJECT_DOMAIN_ID' , taxonomy .UNKNOWN )
142
+ initiator_project_domain_name = environ .get ('HTTP_X_DOMAIN_NAME' , taxonomy .UNKNOWN )
143
+ initiator_domain_id = environ .get ('HTTP_X_DOMAIN_ID' , taxonomy .UNKNOWN )
144
+ initiator_domain_name = environ .get ('HTTP_X_DOMAIN_NAME' , taxonomy .UNKNOWN )
145
+ initiator_user_id = environ .get ('HTTP_X_USER_ID' , taxonomy .UNKNOWN )
146
+ initiator_user_domain_id = environ .get ('HTTP_X_USER_DOMAIN_ID' , taxonomy .UNKNOWN )
147
+ initiator_user_domain_name = environ .get ('HTTP_X_USER_DOMAIN_NAME' , taxonomy .UNKNOWN )
141
148
initiator_host_address = req .client_addr or taxonomy .UNKNOWN
142
149
143
150
# determine target based on request path or keystone.token_info
@@ -164,10 +171,14 @@ def __call__(self, environ, start_response):
164
171
165
172
# set environ for initiator
166
173
environ ['WATCHER.INITIATOR_PROJECT_ID' ] = initiator_project_id
174
+ environ ['WATCHER.INITIATOR_PROJECT_NAME' ] = initiator_project_name
167
175
environ ['WATCHER.INITIATOR_PROJECT_DOMAIN_ID' ] = initiator_project_domain_id
176
+ environ ['WATCHER.INIITATOR_PROJECT_DOMAIN_NAME' ] = initiator_project_domain_name
168
177
environ ['WATCHER.INITIATOR_DOMAIN_ID' ] = initiator_domain_id
178
+ environ ['WATCHER.INITIATOR_DOMAIN_NAME' ] = initiator_domain_name
169
179
environ ['WATCHER.INITIATOR_USER_ID' ] = initiator_user_id
170
180
environ ['WATCHER.INITIATOR_USER_DOMAIN_ID' ] = initiator_user_domain_id
181
+ environ ['WATCHER.INITIATOR_USER_DOMAIN_NAME' ] = initiator_user_domain_name
171
182
environ ['WATCHER.INITIATOR_HOST_ADDRESS' ] = initiator_host_address
172
183
173
184
# set environ for target
@@ -249,24 +260,6 @@ def _start_response_wrapper(status, headers, exc_info=None):
249
260
finally :
250
261
self .metric_client .close_buffer ()
251
262
252
- def get_initiator_project_domain_user_uid_from_environ (self , environ ):
253
- """
254
- get the project uid, project domain uid, domain uid, user uid, user domain uid from the environ
255
- as parsed by the keystone.auth_token middleware
256
-
257
- :param environ: the request's environ
258
- :return: project id, project domain id, domain id, user uid, user domain id
259
- """
260
- project_id = project_domain_id = domain_id = user_id = user_domain_id = taxonomy .UNKNOWN
261
- try :
262
- project_id = environ .get ('HTTP_X_PROJECT_ID' )
263
- project_domain_id = environ .get ('HTTP_X_PROJECT_DOMAIN_ID' )
264
- domain_id = environ .get ('HTTP_X_DOMAIN_ID' )
265
- user_id = environ .get ('HTTP_X_USER_ID' )
266
- user_domain_id = environ .get ('HTTP_X_USER_DOMAIN_ID' )
267
- finally :
268
- return project_id , project_domain_id , domain_id , user_id , user_domain_id
269
-
270
263
def get_target_project_uid_from_path (self , path ):
271
264
"""
272
265
get the project uid from the path, which should look like
0 commit comments