MCPcopy Create free account
hub / github.com/slackapi/python-slack-sdk / SCIMClient

Class SCIMClient

slack_sdk/scim/v1/client.py:53–421  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51
52
53class SCIMClient:
54 BASE_URL = "https://api.slack.com/scim/v1/"
55
56 token: str
57 timeout: int
58 ssl: Optional[SSLContext]
59 proxy: Optional[str]
60 base_url: str
61 default_headers: Dict[str, str]
62 logger: logging.Logger
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
110 # -------------------------

Callers 8

setUpMethod · 0.90
setUpMethod · 0.90
search_groups.pyFile · 0.90
search_users.pyFile · 0.90
test_usersMethod · 0.90
test_groupsMethod · 0.90
test_retriesMethod · 0.90
test_ratelimitedMethod · 0.90

Calls

no outgoing calls

Tested by 6

setUpMethod · 0.72
setUpMethod · 0.72
test_usersMethod · 0.72
test_groupsMethod · 0.72
test_retriesMethod · 0.72
test_ratelimitedMethod · 0.72