Expand source code
import logging
from typing import Optional, Dict, Any
from urllib.parse import quote
from slack_sdk.web.internal_utils import get_user_agent
from .response import AuditLogsResponse
def _build_query(params: Optional[Dict[str, Any]]) -> str:
if params is not None and len(params) > 0:
return "&".join({f"{quote(str(k))}={quote(str(v))}" for k, v in params.items() if v is not None})
return ""
def _build_request_headers(
token: str,
default_headers: Dict[str, str],
additional_headers: Optional[Dict[str, str]],
) -> Dict[str, str]:
request_headers = {
"Content-Type": "application/json;charset=utf-8",
"Authorization": f"Bearer {token}",
}
if default_headers is None or "User-Agent" not in default_headers:
request_headers["User-Agent"] = get_user_agent()
if default_headers is not None:
request_headers.update(default_headers)
if additional_headers is not None:
request_headers.update(additional_headers)
return request_headers
def _debug_log_response(logger, resp: AuditLogsResponse) -> None:
if logger.level <= logging.DEBUG:
logger.debug(
"Received the following response - "
f"status: {resp.status_code}, "
f"headers: {(dict(resp.headers))}, "
f"body: {resp.raw_body}"
)