66# --------------------------------------------------------------------------
77
88
9- from msrest .pipeline import ClientRequest
9+ from msrest .universal_http import ClientRequest
1010from .git_client_base import GitClientBase
1111
1212
@@ -20,13 +20,26 @@ def __init__(self, base_url=None, creds=None):
2020 super (GitClient , self ).__init__ (base_url , creds )
2121
2222 def get_vsts_info (self , relative_remote_url ):
23- request = ClientRequest ()
24- request .url = self ._client .format_url (relative_remote_url .rstrip ('/' ) + '/vsts/info' )
25- request .method = 'GET'
23+ url = self ._client .format_url (relative_remote_url .rstrip ('/' ) + '/vsts/info' )
24+ request = ClientRequest (method = 'GET' , url = url )
2625 headers = {'Accept' : 'application/json' }
2726 if self ._suppress_fedauth_redirect :
2827 headers ['X-TFS-FedAuthRedirect' ] = 'Suppress'
2928 if self ._force_msa_pass_through :
3029 headers ['X-VSS-ForceMsaPassThrough' ] = 'true'
3130 response = self ._send_request (request , headers )
3231 return self ._deserialize ('VstsInfo' , response )
32+
33+ @staticmethod
34+ def get_vsts_info_by_remote_url (remote_url , credentials ,
35+ suppress_fedauth_redirect = True ,
36+ force_msa_pass_through = True ):
37+ request = ClientRequest (method = 'GET' , url = remote_url .rstrip ('/' ) + '/vsts/info' )
38+ headers = {'Accept' : 'application/json' }
39+ if suppress_fedauth_redirect :
40+ headers ['X-TFS-FedAuthRedirect' ] = 'Suppress'
41+ if force_msa_pass_through :
42+ headers ['X-VSS-ForceMsaPassThrough' ] = 'true'
43+ git_client = GitClient (base_url = remote_url , creds = credentials )
44+ response = git_client ._send_request (request , headers )
45+ return git_client ._deserialize ('VstsInfo' , response )
0 commit comments