o
    j                     @   sD   d dl mZ d dlmZ d dlmZ d dlmZ G dd deZdS )    )List)asyauthSubProtocol)SubProtocol)UniProxyTargetc                   @   sD   e Zd Zdededededee f
ddZdd	 Ze	dddZ
d
S )SubProtocolSSPIProxyprotohostportagentidproxiesc                 C   s0   t | tj || _|| _|| _|| _|| _d S N)	r   __init__r   	SSPIPROXYr   r   r	   r
   r   )selfr   r   r	   r
   r    r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/common/subprotocols/sspiproxy.pyr      s   
zSubProtocolSSPIProxy.__init__c                 C   s   d| j | j| jf S )Nz
%s://%s:%s)r   r   r	   )r   r   r   r   get_url   s   zSubProtocolSSPIProxy.get_urlNc                 C   s   d| vrd| vrt dd| vrt dd| vrt dd| vr#d	}nt| d d
 }t| d d
 }t| d d
 }tj| ||d}t|||t| d d
 |S )Nauthagentidr
   z3SSPIProxy subprotocol requires "agentid" parameter!authhostz4SSPIProxy subprotocol requires "authhost" parameter!authportz4SSPIProxy subprotocol requires "authport" parameter!	authprotowsr   )endpoint_port)	Exceptionstrr   from_url_paramsr   )query_paramsr   r   r   proxyr   r   r   r      s(   z$SubProtocolSSPIProxy.from_url_paramsr   )__name__
__module____qualname__r   intr   r   r   r   staticmethodr   r   r   r   r   r      s
    "r   N)	typingr   asyauth.common.constantsr   asyauth.common.subprotocolsr   asysocks.unicomm.common.proxyr   r   r   r   r   r   <module>   s
    