
    T>qj	                     p    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
y)    N)	dataclassfield>	   GETPUTHEADPOSTPATCHQUERYTRACEDELETEOPTIONSurlreturnc                     | j                  d      rd|  S d| vrA| j                  dd      d   }d|v r|j                  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       R/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/curl_cffi/cli/parse.pyprocess_urlr      s    
~~c!#''CIIc1%a(	)##C+A.D $W6FFSE""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<   y	)
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    #D9GT#s(^9#(#>tCy>*/*EL$uS#X'E).t)DKeCHo&D,1$,GKeCK()G#(#>E4c3h >#D9GT#s(^9r   r!   itemsc                 0   t               }| D ]  }|j                  d      r/d|dd v r(|dd j                  d      \  }}}||j                  |<   Dd|v rG|j                  d      \  }}}	 |j                  j                  |t        j                  |      f       d	|v r3|j                  d	      \  }}}|j                  j                  ||f       d|v r3|j                  d      \  }}}|j                  j                  ||f       |j                  d
      r$|dd }|j                  j                  d|f       2d|v rE|j                  d      \  }}}|r||j                   |<   ^|j"                  j                  |       {t        d| dt        j                         t        j                  d        |S # t        j                  $ rA}t        d| d| t        j                         t        j                  d       Y d}~d}~ww xY w)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8O H..s3MCE"'FNN3T\ NN40MCE""))3

50A*BC T\ NN40MCE&&U|4D[ NN3/MCE%%sEl3__S!ABxHLL 23D[ NN3/MCE&+s#((//41$q9

KHHQK9: M+ '' 0c#?cjjQs   +0GH6HH)r=   rA   dataclassesr   r   SUPPORTED_METHODSr.   r   r!   r0   rK   r3   r   r   <module>rN      sY     
 (
 S S   : : : tCy  [  r   