File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/salt/ext/tornado/__pycache__/curl_httpclient.cpython-310.pyc
Back
o ;j/[ � @ s� d Z ddlmZmZmZ ddlZddlZddlZddlZddl Z ddl Z ddlZddlm Z ddlmZ ddlmZ ddlmZ ddlmZmZ dd lmZmZmZmZ e�d �Ze �d�ZG dd � d e�ZG dd� de�Ze dkr|e�!e� e� dS dS )z5Non-blocking HTTP client implementation using pycurl.� )�absolute_import�division�print_functionN)�BytesIO)�httputil)�ioloop)� stack_context)�utf8� native_str)�HTTPResponse� HTTPError�AsyncHTTPClient�mainztornado.curl_httpclients | c s� e Zd Zd#� fdd� Z� fdd�Zdd� Zd d � Zdd� Zd d� Zdd� Z dd� Z dd� Zdd� Zd$dd�Z dd� Zdd� Zdd� Zdd � Zd!d"� Z� ZS )%�CurlAsyncHTTPClient� Nc s� t t� �j||d� t�� � _� j�tj� j� � j�tj � j � � fdd�t|�D �� _� jd d � � _ t�� � _i � _d � _tj� jd|d�� _� j�� t�� }� j�|� � j�|� d S )N)�defaultsc s g | ]}� � � �qS � )�_curl_create)�.0�i��selfr �T/opt/saltstack/salt/lib/python3.10/site-packages/salt/ext/tornado/curl_httpclient.py� <listcomp>0 s z2CurlAsyncHTTPClient.initialize.<locals>.<listcomp>�� )�io_loop)�superr � initialize�pycurlZ CurlMulti�_multi�setoptZM_TIMERFUNCTION�_set_timeoutZM_SOCKETFUNCTION�_handle_socket�range�_curls� _free_list�collections�deque� _requests�_fds�_timeoutr ZPeriodicCallback�_handle_force_timeout�_force_timeout_callback�start�Curl� add_handle� remove_handle)r r Zmax_clientsr Zdummy_curl_handle�� __class__r r r + s � zCurlAsyncHTTPClient.initializec sR | j �� | jd ur| j�| j� | jD ]}|�� q| j�� tt | ��� d S �N) r, �stopr* r �remove_timeoutr$ �closer r r �r �curlr1 r r r6 G s zCurlAsyncHTTPClient.closec C s&