
    @OOf                     H    d dl mZ d dlmZ d dlmZ d dlmZ  G d d      Zy)    )Optional)ctx)
exceptions)
flowfilterc                   $    e Zd Zd Zd Zd Zd Zy)
StickyAuthc                      d | _         i | _        y )N)flthosts)selfs    \/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/addons/stickyauth.py__init__zStickyAuth.__init__	   s    
    c                 B    |j                  dt        t           d d       y )N
stickyauthz1Set sticky auth filter. Matched against requests.)
add_optionr   str)r   loaders     r   loadzStickyAuth.load   s     SM?		
r   c                    d|v rVt         j                  j                  r4	 t        j                  t         j                  j                        | _        y d | _        y y # t        $ r$}t        j                  t        |            |d }~ww xY w)Nr   )
r   optionsr   r   parser
   
ValueErrorr   OptionsErrorr   )r   updatedes      r   	configurezStickyAuth.configure   sr    7"{{%%A)//0F0FGDH   # " A$11#a&9q@As   2A 	B	%BB	c                 t   | j                   r|j                  j                  }d|j                  j                  v r'|j                  j                  d   | j                  |<   y t        j                  | j                   |      r6|| j                  v r'| j                  |   |j                  j                  d<   y y y y )Nauthorization)r
   requesthostheadersr   r   match)r   flowr!   s      r   r    zStickyAuth.request   s    88<<$$D$,,"6"66#'<<#7#7#H

4 !!$((D14::%<@JJt<LDLL((9 & 2	 r   N)__name__
__module____qualname__r   r   r   r     r   r   r   r      s    
 Mr   r   N)typingr   	mitmproxyr   r   r   r   r(   r   r   <module>r+      s         M Mr   