Source code for multiversx_sdk.network_providers.config

from dataclasses import dataclass, field
from http.client import (
    BAD_GATEWAY,
    GATEWAY_TIMEOUT,
    INTERNAL_SERVER_ERROR,
    SERVICE_UNAVAILABLE,
)
from typing import Any, Optional


[docs] @dataclass class RequestsRetryOptions: retries: int = 3 backoff_factor: float = 1 status_forcelist: list[int] = field( default_factory=lambda: [ INTERNAL_SERVER_ERROR, BAD_GATEWAY, SERVICE_UNAVAILABLE, GATEWAY_TIMEOUT, ] )
[docs] class NetworkProviderConfig: def __init__( self, client_name: Optional[str] = None, requests_options: Optional[dict[str, Any]] = None, requests_retry_options: Optional[RequestsRetryOptions] = None, ) -> None: self.client_name = client_name self.requests_options = requests_options or {} self.requests_options.setdefault("timeout", 5) self.requests_options.setdefault("auth", tuple()) self.requests_retry_options = requests_retry_options if requests_retry_options else RequestsRetryOptions()