HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/boto/gs/__pycache__/cors.cpython-310.pyc
o

we%�@sfddlZddlmZddlmZddlmZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZGdd�dej�ZdS)�N)�User)�InvalidCorsError)�handler�
CorsConfig�Cors�Origins�Origin�Methods�Method�ResponseHeaders�ResponseHeader�	MaxAgeSecc@s8eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�ZdS)
rz0Encapsulates the CORS configuration XML documentcCsPg|_g|_g|_ttgttgttgt	gi|_
tttg|_d|_d|_
d|_dS)Nr)�cors�collections�elements�ORIGINS�ORIGIN�METHODS�METHOD�HEADERS�HEADER�	MAXAGESEC�legal_collections�legal_elements�parse_level�
collection�element)�self�r�E/home/arjun/projects/env/lib/python3.10/site-packages/boto/gs/cors.py�__init__(s�
z
Cors.__init__cCs |j|krtd||jf��dS)z#Verify parse level for a given tag.z"Invalid tag %s at parse level %d: N)rr)r�tag�levelrrr�validateParseLevelGs

��zCors.validateParseLevelcCs�|tkr|�|d�|jd7_dS|tkr&|�|d�|jd7_dS||jvr=|�|d�|jd7_||_dS||jvri|�|d�|jdurStd|��||j|jvrdtd||jf��||_dStd|��)	�,SAX XML logic for parsing new element found.r���N�Tag %s found outside collection�#Tag %s not allowed in %s collectionzUnsupported tag )	�CORS_CONFIGr#r�CORSrrrrr)r�name�attrs�
connectionrrr�startElementMs(



�
zCors.startElementcCsv|tkr|�|d�|jd8_dS|tkr0|�|d�|jd8_|j�|j�g|_dS||jvrq|�|d�||jkrIt	d|j|f��|jd8_|j|s`|j�||�
�f�n	|j�||jf�g|_d|_dS||jvr�|�|d�|jdur�t	d|��||j|jvr�t	d||jf��||j
kr�t	d|j
|f��|j�||�
�f�d|_
dSt	d|��)	r$r%r&r'z%Mismatched start and end tags (%s/%s)Nr(r)zUnsupported end tag )r*r#rr+r�appendrrrr�striprrr)rr,�valuer.rrr�
endElementfsF


�



�
�
zCors.endElementcCs�dtd}|jD]\}|dtd7}|D]G\}}|dusJ�|d|d7}t|t�r1||7}n#|D] \}}|dus=J�|dusCJ�|d|d|d|d7}q3|d|d7}q|dtd7}q	|dtd7}|S)z3Convert CORS object into XML string representation.�<�>Nz</)r*rr+�
isinstance�str)r�srr�elements_or_valuer,r2rrr�to_xml�s 


"zCors.to_xmlN)	�__name__�
__module__�__qualname__�__doc__r r#r/r3r:rrrrr&s/)�types�boto.gs.userr�boto.exceptionr�xml.saxrr*r+rrrrrrr�ContentHandlerrrrrr�<module>s