API client for SCIM API See https://docs.slack.dev/admins/scim-api/ for more details Args: token: An admin user's token, which starts with `xoxp-` timeout: Request timeout (in seconds) ssl: `ssl.SSLContext` to use for requests proxy: P
(
self,
token: str,
timeout: int = 30,
ssl: Optional[SSLContext] = None,
proxy: Optional[str] = None,
base_url: str = BASE_URL,
default_headers: Optional[Dict[str, str]] = None,
user_agent_prefix: Optional[str] = None,
user_agent_suffix: Optional[str] = None,
logger: Optional[logging.Logger] = None,
retry_handlers: Optional[List[RetryHandler]] = None,
)
| 63 | retry_handlers: List[RetryHandler] |
| 64 | |
| 65 | def __init__( |
| 66 | self, |
| 67 | token: str, |
| 68 | timeout: int = 30, |
| 69 | ssl: Optional[SSLContext] = None, |
| 70 | proxy: Optional[str] = None, |
| 71 | base_url: str = BASE_URL, |
| 72 | default_headers: Optional[Dict[str, str]] = None, |
| 73 | user_agent_prefix: Optional[str] = None, |
| 74 | user_agent_suffix: Optional[str] = None, |
| 75 | logger: Optional[logging.Logger] = None, |
| 76 | retry_handlers: Optional[List[RetryHandler]] = None, |
| 77 | ): |
| 78 | """API client for SCIM API |
| 79 | See https://docs.slack.dev/admins/scim-api/ for more details |
| 80 | |
| 81 | Args: |
| 82 | token: An admin user's token, which starts with `xoxp-` |
| 83 | timeout: Request timeout (in seconds) |
| 84 | ssl: `ssl.SSLContext` to use for requests |
| 85 | proxy: Proxy URL (e.g., `localhost:9000`, `http://localhost:9000`) |
| 86 | base_url: The base URL for API calls |
| 87 | default_headers: Request headers to add to all requests |
| 88 | user_agent_prefix: Prefix for User-Agent header value |
| 89 | user_agent_suffix: Suffix for User-Agent header value |
| 90 | logger: Custom logger |
| 91 | retry_handlers: Retry handlers |
| 92 | """ |
| 93 | self.token = token |
| 94 | self.timeout = timeout |
| 95 | self.ssl = ssl |
| 96 | self.proxy = proxy |
| 97 | self.base_url = base_url |
| 98 | self.default_headers = default_headers if default_headers else {} |
| 99 | self.default_headers["User-Agent"] = get_user_agent(user_agent_prefix, user_agent_suffix) |
| 100 | self.logger = logger if logger is not None else logging.getLogger(__name__) |
| 101 | self.retry_handlers = retry_handlers if retry_handlers is not None else default_retry_handlers() |
| 102 | |
| 103 | if self.proxy is None or len(self.proxy.strip()) == 0: |
| 104 | env_variable = load_http_proxy_from_env(self.logger) |
| 105 | if env_variable is not None: |
| 106 | self.proxy = env_variable |
| 107 | |
| 108 | # ------------------------- |
| 109 | # Users |
nothing calls this directly
no test coverage detected