File tree Expand file tree Collapse file tree 4 files changed +10
-6
lines changed Expand file tree Collapse file tree 4 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -130,8 +130,8 @@ def assert_headers(headers):
130
130
assert headers [constants .HEADER_CATALOG ] == catalog
131
131
assert headers [constants .HEADER_SCHEMA ] == schema
132
132
assert headers [constants .HEADER_SOURCE ] == source
133
- assert headers [constants .HEADER_USER ] == user
134
- assert headers [constants .HEADER_AUTHORIZATION_USER ] == authorization_user
133
+ assert headers [constants .HEADER_ORIGINAL_USER ] == user
134
+ assert headers [constants .HEADER_USER ] == authorization_user
135
135
assert headers [constants .HEADER_SESSION ] == ""
136
136
assert headers [constants .HEADER_TRANSACTION ] is None
137
137
assert headers [constants .HEADER_TIMEZONE ] == timezone
Original file line number Diff line number Diff line change 34
34
35
35
import trino .logging
36
36
from trino import exceptions
37
+ from trino .constants import HEADER_ORIGINAL_USER
37
38
from trino .constants import HEADER_USER
38
39
from trino .constants import MAX_NT_PASSWORD_SIZE
39
40
@@ -552,7 +553,7 @@ def _determine_host(url: Optional[str]) -> Any:
552
553
553
554
@staticmethod
554
555
def _determine_user (headers : Mapping [Any , Any ]) -> Optional [Any ]:
555
- return headers .get (HEADER_USER )
556
+ return headers .get (HEADER_ORIGINAL_USER , headers . get ( HEADER_USER ) )
556
557
557
558
@staticmethod
558
559
def _construct_cache_key (host : Optional [str ], user : Optional [str ]) -> Optional [str ]:
Original file line number Diff line number Diff line change @@ -511,8 +511,11 @@ def http_headers(self) -> CaseInsensitiveDict[str]:
511
511
headers [constants .HEADER_CATALOG ] = self ._client_session .catalog
512
512
headers [constants .HEADER_SCHEMA ] = self ._client_session .schema
513
513
headers [constants .HEADER_SOURCE ] = self ._client_session .source
514
- headers [constants .HEADER_USER ] = self ._client_session .user
515
- headers [constants .HEADER_AUTHORIZATION_USER ] = self ._client_session .authorization_user
514
+ if self ._client_session .authorization_user is not None :
515
+ headers [constants .HEADER_ORIGINAL_USER ] = self ._client_session .user
516
+ headers [constants .HEADER_USER ] = self ._client_session .authorization_user
517
+ else :
518
+ headers [constants .HEADER_USER ] = self ._client_session .user
516
519
headers [constants .HEADER_TIMEZONE ] = self ._client_session .timezone
517
520
if self ._client_session .encoding is None :
518
521
pass
Original file line number Diff line number Diff line change 33
33
HEADER_SCHEMA = "X-Trino-Schema"
34
34
HEADER_SOURCE = "X-Trino-Source"
35
35
HEADER_USER = "X-Trino-User"
36
+ HEADER_ORIGINAL_USER = "X-Trino-Original-User"
36
37
HEADER_CLIENT_INFO = "X-Trino-Client-Info"
37
38
HEADER_CLIENT_TAGS = "X-Trino-Client-Tags"
38
39
HEADER_EXTRA_CREDENTIAL = "X-Trino-Extra-Credential"
61
62
CLIENT_CAPABILITY_SESSION_AUTHORIZATION = "SESSION_AUTHORIZATION"
62
63
CLIENT_CAPABILITIES = ',' .join ([CLIENT_CAPABILITY_PARAMETRIC_DATETIME , CLIENT_CAPABILITY_SESSION_AUTHORIZATION ])
63
64
64
- HEADER_AUTHORIZATION_USER = "X-Trino-Authorization-User"
65
65
HEADER_SET_AUTHORIZATION_USER = "X-Trino-Set-Authorization-User"
66
66
HEADER_RESET_AUTHORIZATION_USER = "X-Trino-Reset-Authorization-User"
67
67
You can’t perform that action at this time.
0 commit comments