o
    iM                     @   sV   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ dd Zdd	d
Zdd Z	dS )    N)
json_loads)
to_unicode)urlsafe_b64decode)DecodeErrorc              
   C   sr   t | dkr
tdt| |d}z	t|d}W n ty- } z|d| |d }~ww t|ts7|d|S )N  zValue of header is too longheaderzutf-8zInvalid header string: zHeader must be a json object)len
ValueErrorextract_segmentr   decode
isinstancedict)header_segment	error_clsheader_datar   e r   W/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/authlib/jose/util.pyextract_header	   s   
r   payloadc              
   C   s\   t | dkrtd| dzt| W S  ttjfy- } zd| d}|||d }~ww )Nr   z	Value of z is too longInvalid z padding)r   r	   r   	TypeErrorbinasciiError)segmentr   nameexcmsgr   r   r   r
      s   

r
   c              
   C   sd   t | ts$ztt| } W n ttfy# } ztd| |d }~ww t | ts0td| | S )Nr   )r   r   r   r   r	   r   r   )sstructure_namer   r   r   r   ensure_dict$   s   

r    )r   )
r   authlib.common.encodingr   r   r   authlib.jose.errorsr   r   r
   r    r   r   r   r   <module>   s    
