
    @OOf                         d dl Z 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lm	Z	 d Z
dej                  j                  fd	Zy)
    N)http)common)
searchable)human)strutilsc                 ^    | +t        | |      rt        j                  t        | |            S y)Nu   –)getattrr   format_timestamp_with_milli)baseattrs     g/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/tools/console/flowdetailview.pymaybe_timestampr      s.    GD$/00t1DEE     flowc                    g }|j                   }|j                  }t        |t        j                        r|j
                  }|j                  }nd }d }|j                  }|j                  }|r(|j                  t        j                  dd|fg             |t        |      dkD  r|j                         D 	
cg c]  \  }	}
t        |	      t        |
      f }}	}
|j                  t        j                  dg             |j!                  t#        j$                  |d             ||j&                  r|j                  t        j                  dg             dt)        j*                  |j,                        fg}|j&                  r0|j                  d	t)        j*                  |j&                        f       |r|j                  d
|j.                  f       |j0                  r0|j                  dt3        j4                  |j0                        f       |j!                  t#        j$                  |d             |j6                  rw|j6                  d   }|j                  t        j                  dg             dd|j8                  z  fd|j;                         j=                  d      fdt        |j>                        fdt        |j@                        fdt        |jB                        fdt        jD                  t#        j$                  |jF                  d            fdt        jD                  t#        j$                  |jH                  d            fg}|jJ                  r3|j                  ddjM                  d |jJ                  D              f       |j!                  t#        j$                  |d             |C|j                  t        j                  dg             dt)        j*                  |j&                        fg}|r|j                  d
|j.                  f       |jN                  r|j                  d|jN                  f       |jP                  r|j                  d|jP                  f       |jR                  r|j                  d|jR                  f       |j0                  r0|j                  dt3        j4                  |j0                        f       |j!                  t#        j$                  |d             g }|o|jT                  rc|j                  dtW        |d       f       |jX                  r|j                  d!tW        |d"      f       |j                  d#tW        |d$      f       ||jT                  r|j                  d%tW        |d       f       |j                  d&tW        |d'      f       |jX                  r|j                  d(tW        |d"      f       |j                  d)tW        |d$      f       |F|jT                  r:|j                  d*tW        |d       f       |j                  d+tW        |d$      f       |F|jT                  r:|j                  d,tW        |d       f       |j                  d-tW        |d$      f       |rYt[        |d. /      }|j                  t        j                  d0g             |j!                  t#        j$                  |d             t]        j^                  |      S c c}
}	w )1N)headz	Comment: textr   )r   z	Metadata:   )indent)r   zServer Connection:AddresszResolved AddresszHTTP VersionALPN)r   zServer Certificate:Typez%s, %s bitszSHA256 digest z
Valid fromzValid toSerialSubject	highlight)
key_formatIssuerz	Alt namesz, c              3   F   K   | ]  }t        |j                          y w)N)strvalue).0xs     r   	<genexpr>zflowdetails.<locals>.<genexpr>S   s     4VaS\4Vs   !)r   zClient Connection:zTLS VersionzServer Name IndicationzCipher NamezClient conn. establishedtimestamp_startzClient conn. TLS handshaketimestamp_tls_setupzClient conn. closedtimestamp_endzServer conn. initiatedzServer conn. TCP handshaketimestamp_tcp_setupzServer conn. TLS handshakezServer conn. closedzFirst request bytezRequest completezFirst response bytezResponse completec                     | d   S )N    )ps    r   <lambda>zflowdetails.<locals>.<lambda>   s
    AaD r   )key)r   zTiming:)0server_connclient_conn
isinstancer   HTTPFlowrequestresponsemetadatacommentappendurwidTextlenitemsr    reprextendr   format_keyvalspeernamer   format_addressaddresshttp_versionalpnr   bytes_to_escaped_strcertificate_listkeyinfofingerprinthex	notbeforenotafterserialPilesubjectissueraltnamesjointls_versionsnicipherr%   r   tls_establishedsortedr   
Searchable)stater   r   scccreqrespr5   r6   kvpartscs                r   flowdetailsr`      s   D			B			B $&ll}}}}HllGEJJ 57HIJKH 1/7~~/?@tq!#a&$q'"@@EJJ 5678F))%:;	~"++EJJ >?@A,,RZZ89
 ;;LL,e.B.B2;;.OPQLL.$*;*;<=77LL&("?"?"HIJF))%:;##A&AKK

$C#DEF23 !--/"5"5c":;s1;;/0S_-3qxx=)JJ--aiiKP JJv44QXX+VWE$ zzk4994V1::4V+VWXKK--eA>?	~EJJ >?@A ,,R[[9:
 LL.#*:*:;<>>LL-8966LL2BFF;<99LL-3477LL&("?"?"HIJF))%:;E	~",,'=N)OP	
 LL0#B(=> 	+_R-QRS	~",,.DU0VWX)?2?T+UV	
 LL0#B(=> 	+_R-QRS
3..*OCAR,STU(/#*OPQD00+_TCT-UVW)?4+QRSu.1EJJ 3456F))%:;  &&U As   7 \)r8   mitmproxy.flow	mitmproxyr   mitmproxy.tools.consoler   r   mitmproxy.utilsr   r   r   r   Flowr`   r+   r   r   <module>rf      s7       * . ! $	~'Y^^00 ~'r   