aboutsummaryrefslogtreecommitdiff
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""


import requests as requests_http
from ._hooks import SDKHooks
from .utils import utils
from .utils.retries import RetryConfig
from dataclasses import dataclass
from typing import Callable, Dict, Optional, Tuple, Union
from unstructured_client.models import shared


SERVER_SAAS_API = 'saas-api'
r"""Serverless SaaS API"""
SERVER_FREE_API = 'free-api'
r"""Hosted API Free"""
SERVER_DEVELOPMENT = 'development'
r"""Development server"""
SERVERS = {
	SERVER_SAAS_API: 'https://api.unstructuredapp.io',
	SERVER_FREE_API: 'https://api.unstructured.io',
	SERVER_DEVELOPMENT: 'http://localhost:8000',
}
"""Contains the list of servers available to the SDK"""


@dataclass
class SDKConfiguration:
    client: requests_http.Session
    security: Union[shared.Security,Callable[[], shared.Security]] = None
    server_url: Optional[str] = ''
    server: Optional[str] = ''
    language: str = 'python'
    openapi_doc_version: str = '1.0.44'
    sdk_version: str = '0.25.5'
    gen_version: str = '2.393.4'
    user_agent: str = 'speakeasy-sdk/python 0.25.5 2.393.4 1.0.44 unstructured-client'
    retry_config: Optional[RetryConfig] = None

    def __post_init__(self):
        self._hooks = SDKHooks()

    def get_server_details(self) -> Tuple[str, Dict[str, str]]:
        if self.server_url is not None and self.server_url != '':
            return utils.remove_suffix(self.server_url, '/'), {}
        if not self.server:
            self.server = SERVER_SAAS_API

        if self.server not in SERVERS:
            raise ValueError(f"Invalid server \"{self.server}\"")

        return SERVERS[self.server], {}


    def get_hooks(self) -> SDKHooks:
        return self._hooks