o
    ±zsgª  ã                   @   sº   d dl Z d dlZd dlmZ d dlmZ d dlmZ ejdkr&d dl	m
Z
 nd dlm
Z
 dZdZG d	d
„ d
e
ƒZG dd„ deƒZdedefdd„Zdedefdd„Zdedefdd„ZdS )é    N)Úurlparse)ÚAsyncClient)ÚClient)é   é   )ÚStrEnumé   z3^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$c                   @   sH   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdS )ÚFunctionRegionÚanyzap-northeast-1zap-northeast-2z
ap-south-1zap-southeast-1zap-southeast-2zca-central-1zeu-central-1z	eu-west-1z	eu-west-2z	eu-west-3z	sa-east-1z	us-east-1z	us-west-1z	us-west-2N)Ú__name__Ú
__module__Ú__qualname__ÚAnyÚApNortheast1ÚApNortheast2ÚApSouth1ÚApSoutheast1ÚApSoutheast2Ú
CaCentral1Ú
EuCentral1ÚEuWest1ÚEuWest2ÚEuWest3ÚSaEast1ÚUsEast1ÚUsWest1ÚUsWest2© r   r   úJ/var/www/html/minecraft/env/lib/python3.10/site-packages/supafunc/utils.pyr	      s     r	   c                   @   s   e Zd Zddd„ZdS )Ú
SyncClientÚreturnNc                 C   s   |   ¡  d S )N)Úclose)Úselfr   r   r   Úaclose%   s   zSyncClient.aclose)r    N)r   r   r   r#   r   r   r   r   r   $   s    r   Útargetr    c                 C   s   t | tƒot|  ¡ ƒdkS )Nr   )Ú
isinstanceÚstrÚlenÚstrip)r$   r   r   r   Úis_valid_str_arg)   s   r)   Úurlc                 C   s   t | ƒjdv S )N>   ÚhttpÚhttps)r   Úscheme)r*   r   r   r   Úis_http_url-   s   r.   Úvaluec                 C   sh   t | tƒsdS |  ¡ } |  d¡r| dd… } |  d¡dkrdS |  d¡D ]}t t|tj	¡s1 dS q$dS )z@Checks if value looks like a JWT, does not do any extra parsing.FzBearer é   NÚ.é   T)
r%   r&   r(   Ú
startswithÚcountÚsplitÚreÚsearchÚBASE64URL_REGEXÚ
IGNORECASE)r/   Úpartr   r   r   Úis_valid_jwt1   s   

ÿr;   )r6   ÚsysÚurllib.parser   Úhttpxr   r   Ú
BaseClientÚversion_infoÚenumr   ÚstrenumÚDEFAULT_FUNCTION_CLIENT_TIMEOUTr8   r	   r   r&   Úboolr)   r.   r;   r   r   r   r   Ú<module>   s    
