Fixes for URL building logic.
This commit is contained in:
		
							
								
								
									
										11
									
								
								devops.py
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								devops.py
									
									
									
									
									
								
							@@ -1,21 +1,24 @@
 | 
			
		||||
import requests
 | 
			
		||||
from urllib.parse import urljoin
 | 
			
		||||
import urllib.request
 | 
			
		||||
import urllib.parse
 | 
			
		||||
import json
 | 
			
		||||
 | 
			
		||||
DEVOPS_SCOPE = "https://app.vssps.visualstudio.com/.default"
 | 
			
		||||
DEVOPS_API_VERSION = "7.1"
 | 
			
		||||
 | 
			
		||||
class Client:
 | 
			
		||||
    def __init__(self, org_url: str, token: str, api_version: str = DEVOPS_API_VERSION):
 | 
			
		||||
        self._org_url = org_url
 | 
			
		||||
        self._org_url = org_url.rstrip("/") + "/" # Ensure trailing slash
 | 
			
		||||
        self._token = token
 | 
			
		||||
        self._api_version = api_version
 | 
			
		||||
 | 
			
		||||
    def get(self, url: str, params: dict = {}):
 | 
			
		||||
    def get(self, path: str, params: dict = {}):
 | 
			
		||||
        p = {
 | 
			
		||||
            "api-version": self._api_version,
 | 
			
		||||
            **params
 | 
			
		||||
        }
 | 
			
		||||
        r = requests.get(url=urljoin(self._org_url, url), params=p, headers={
 | 
			
		||||
        url = self._org_url + path.lstrip("/") # Ensure single slash between base and path
 | 
			
		||||
        r = requests.get(url=url, params=p, headers={
 | 
			
		||||
            "Authorization": f"Bearer {self._token}"
 | 
			
		||||
        })
 | 
			
		||||
        return r
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user