
    ei	                         d dl Z d dlZd dlmZmZ h dZdedefdZe G d d                      Zd	e	e         defd
Z
dS )    N)	dataclassfield>	   GETPUTHEADPOSTPATCHQUERYTRACEDELETEOPTIONSurlreturnc                     |                      d          rd|  S d| vrP|                     dd          d         }d|v r'|                    dd          d         }|dk    rdnd	}nd}| d|  S | S )
z4Normalise a URL: localhost shortcut, default scheme.:zhttp://localhostz:///   r   443httpshttp)
startswithsplitrsplit)r   	host_partportschemes       >/usr/local/lib/python3.11/dist-packages/curl_cffi/cli/parse.pyprocess_urlr      s    
~~c ('#'''CIIc1%%a(	)##C++A.D $WW6FFF""S"""J    c                      e Zd ZU  ee          Zeeef         ed<    ee          Z	ee         ed<    ee          Z
eeeef                  ed<    ee          Zeeeef                  ed<    ee          Zeeeef                  ed<    ee          Zeeeef                  ed<    ee          Zeeef         ed<   d	S )
ParsedItems)default_factoryheadersheaders_to_removequery_paramsdata_fieldsjson_fieldsfilescookiesN)__name__
__module____qualname__r   dictr#   str__annotations__listr$   r%   tupler&   r'   objectr(   r)    r   r   r!   r!   "   s'        #eD999GT#s(^999#(5#>#>#>tCy>>>*/%*E*E*EL$uS#X'EEE).t)D)D)DKeCHo&DDD,1E$,G,G,GKeCK()GGG#(5#>#>#>E4c3h >>>#eD999GT#s(^99999r   r!   itemsc                 `   t                      }| D ]}|                    d          r8d|dd         v r,|dd                             d          \  }}}||j        |<   Pd|v r|                    d          \  }}}	 |j                            |t          j        |          f           # t          j        $ r?}t          d| d| t          j                   t          j        d           Y d}~d}~ww xY wd	|v r7|                    d	          \  }}}|j                            ||f           )d|v r7|                    d          \  }}}|j                            ||f           d|                    d
          r(|dd         }|j                            d|f           d|v rC|                    d          \  }}}|r||j        |<   |j                            |           t          d| dt          j                   t          j        d           |S )z)Parse request items into structured data.+=r   Nz:=zError: invalid JSON in 'z': )filez==@r8   r   zError: unknown request item '')r!   r   	partitionr)   r'   appendjsonloadsJSONDecodeErrorprintsysstderrexitr%   r&   r(   r#   r$   )r4   resultitemkey_valueexcfilepaths           r   parse_request_itemsrK   -   s^   ]]F  ??3 	C48OO H..s33MCE"'FN3T\\ NN400MCE"))3
50A0A*BCCCC'   ???#??cjQQQQ T\\ NN400MCE&&U|4444D[[ NN3//MCE%%sEl3333__S!! 	ABBxHL 23333D[[ NN3//MCE 5&+s##(//44449$999
KKKKHQKKKKMs   ?.B..C<=5C77C<)r=   rA   dataclassesr   r   SUPPORTED_METHODSr.   r   r!   r0   rK   r3   r   r   <module>rN      s     



 ( ( ( ( ( ( ( (
 
 
 S S      : : : : : : : : tCy  [            r   