common/python/maxcompute_tea_openapi/client.py [80:160]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        self,
        params: openapi_models.Params,
        request: openapi_models.OpenApiRequest,
        runtime: util_models.RuntimeOptions,
    ) -> dict:
        """
        Encapsulate the request and invoke the network
        @param action: api name
        @param version: product version
        @param protocol: http or https
        @param method: e.g. GET
        @param auth_type: authorization type e.g. AK
        @param body_type: response body type e.g. String
        @param request: object of OpenApiRequest
        @param runtime: which controls some details of call api, such as retry times
        @return: the response
        """
        params.validate()
        request.validate()
        runtime.validate()
        _runtime = {
            'timeouted': 'retry',
            'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout),
            'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout),
            'retry': {
                'retryable': runtime.autoretry,
                'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3)
            },
            'backoff': {
                'policy': UtilClient.default_string(runtime.backoff_policy, 'no'),
                'period': UtilClient.default_number(runtime.backoff_period, 1)
            },
            'ignoreSSL': runtime.ignore_ssl
        }
        _last_request = None
        _last_exception = None
        _now = time.time()
        _retry_times = 0
        while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now):
            if _retry_times > 0:
                _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times)
                if _backoff_time > 0:
                    TeaCore.sleep(_backoff_time)
            _retry_times = _retry_times + 1
            try:
                _request = TeaRequest()
                _request.protocol = UtilClient.default_string(self._protocol, params.protocol)
                _request.method = params.method
                if not UtilClient.is_unset(self._suffix):
                    _request.pathname = f'/{self._suffix}{params.pathname}'
                else:
                    _request.pathname = params.pathname
                global_queries = {}
                global_headers = {}
                if not UtilClient.is_unset(self._global_parameters):
                    global_params = self._global_parameters
                    if not UtilClient.is_unset(global_params.queries):
                        global_queries = global_params.queries
                    if not UtilClient.is_unset(global_params.headers):
                        global_headers = global_params.headers
                extends_headers = {}
                extends_queries = {}
                if not UtilClient.is_unset(runtime.extends_parameters):
                    extends_parameters = runtime.extends_parameters
                    if not UtilClient.is_unset(extends_parameters.headers):
                        extends_headers = extends_parameters.headers
                    if not UtilClient.is_unset(extends_parameters.queries):
                        extends_queries = extends_parameters.queries
                _request.query = TeaCore.merge(global_queries,
                    extends_queries,
                    request.query)
                # endpoint is setted in product client
                _request.headers = TeaCore.merge({
                    'host': self._endpoint,
                    'user-agent': self.get_user_agent(),
                    'x-odps-user-agent': self.get_user_agent(),
                    'Date': McUtilClient.get_api_timestamp()
                }, global_headers,
                    extends_headers,
                    request.headers)
                if not UtilClient.is_unset(request.stream):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



common/python/maxcompute_tea_openapi/client.py [258:338]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        self,
        params: openapi_models.Params,
        request: openapi_models.OpenApiRequest,
        runtime: util_models.RuntimeOptions,
    ) -> dict:
        """
        Encapsulate the request and invoke the network
        @param action: api name
        @param version: product version
        @param protocol: http or https
        @param method: e.g. GET
        @param auth_type: authorization type e.g. AK
        @param body_type: response body type e.g. String
        @param request: object of OpenApiRequest
        @param runtime: which controls some details of call api, such as retry times
        @return: the response
        """
        params.validate()
        request.validate()
        runtime.validate()
        _runtime = {
            'timeouted': 'retry',
            'readTimeout': UtilClient.default_number(runtime.read_timeout, self._read_timeout),
            'connectTimeout': UtilClient.default_number(runtime.connect_timeout, self._connect_timeout),
            'retry': {
                'retryable': runtime.autoretry,
                'maxAttempts': UtilClient.default_number(runtime.max_attempts, 3)
            },
            'backoff': {
                'policy': UtilClient.default_string(runtime.backoff_policy, 'no'),
                'period': UtilClient.default_number(runtime.backoff_period, 1)
            },
            'ignoreSSL': runtime.ignore_ssl
        }
        _last_request = None
        _last_exception = None
        _now = time.time()
        _retry_times = 0
        while TeaCore.allow_retry(_runtime.get('retry'), _retry_times, _now):
            if _retry_times > 0:
                _backoff_time = TeaCore.get_backoff_time(_runtime.get('backoff'), _retry_times)
                if _backoff_time > 0:
                    TeaCore.sleep(_backoff_time)
            _retry_times = _retry_times + 1
            try:
                _request = TeaRequest()
                _request.protocol = UtilClient.default_string(self._protocol, params.protocol)
                _request.method = params.method
                if not UtilClient.is_unset(self._suffix):
                    _request.pathname = f'/{self._suffix}{params.pathname}'
                else:
                    _request.pathname = params.pathname
                global_queries = {}
                global_headers = {}
                if not UtilClient.is_unset(self._global_parameters):
                    global_params = self._global_parameters
                    if not UtilClient.is_unset(global_params.queries):
                        global_queries = global_params.queries
                    if not UtilClient.is_unset(global_params.headers):
                        global_headers = global_params.headers
                extends_headers = {}
                extends_queries = {}
                if not UtilClient.is_unset(runtime.extends_parameters):
                    extends_parameters = runtime.extends_parameters
                    if not UtilClient.is_unset(extends_parameters.headers):
                        extends_headers = extends_parameters.headers
                    if not UtilClient.is_unset(extends_parameters.queries):
                        extends_queries = extends_parameters.queries
                _request.query = TeaCore.merge(global_queries,
                    extends_queries,
                    request.query)
                # endpoint is setted in product client
                _request.headers = TeaCore.merge({
                    'host': self._endpoint,
                    'user-agent': self.get_user_agent(),
                    'x-odps-user-agent': self.get_user_agent(),
                    'Date': McUtilClient.get_api_timestamp()
                }, global_headers,
                    extends_headers,
                    request.headers)
                if not UtilClient.is_unset(request.stream):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



