Ë
    ˆài‰  ã                   ó4   — d Z ddlmZ ddlmZ  G d„ d«      Zy)z
Rate limiting check module
é    )ÚLogger)Ú	HTTPUtilsc                   ó:   — e Zd ZdZd	dedefd„Zdefd„Zdefd„Z	y)
ÚRateLimitingCheckú%Check if rate limiting is implementedÚloggerÚbase_urlc                 ó4   — || _         t        ||«      | _        y )N)r   r   Ú
http_utils)Úselfr   r	   s      ú@/home/factor_ks/STREAMA2026/tests/modules/rate_limiting_check.pyÚ__init__zRateLimitingCheck.__init__   s   € ØˆŒÜ# F¨HÓ5ˆ�ó    Úreturnc                 óZ   — | j                   j                  d«       | j                  «        y)zRun all rate limiting checkszRate Limiting CheckT)r   Ú	subheaderÚ_check_rate_limiting)r   s    r   Úrun_all_checksz RateLimitingCheck.run_all_checks   s&   € à�‰×ÑÐ3Ô4ð 	×!Ñ!Ô#àr   c                 óÊ  — | j                   j                  dd«       d}d}d}t        |«      D ]R  }| j                  j	                  d«      \  }}}|dz  }|sŒ*|dk(  sŒ0d	}| j                   j                  dd
|› d�«        n |ry	||k(  r=| j                   j                  dd|› d�«       | j                   j                  dd«       y	| j                   j                  dd«       y	)r   Ú
RATE_LIMITz(Checking rate limiting implementation...Fr   é
   z/api/healthé   i­  Tz&Rate limiting: Active (detected after u    requests) âœ“z"Rate limiting: Not detected after z$ requests (optional for development)z2Consider implementing rate limiting for productionz(Could not determine rate limiting status)r   ÚinfoÚranger   ÚgetÚsuccessÚwarning)r   Úrate_limit_detectedÚrequests_madeÚrequests_to_makeÚir   Ústatus_codeÚ_s           r   r   z&RateLimitingCheck._check_rate_limiting   s  € à�‰×Ñ˜Ð'QÔRð $ÐØˆØÐäÐ'Ó(ò 	ˆAØ&*§o¡o×&9Ñ&9¸-Ó&HÑ#ˆG�[ !Ø˜QÑˆMâ˜;¨#Ó-Ø&*Ð#Ø—‘×#Ñ# LÐ4ZÐ[hÐZiÐiwÐ2xÔyÙð	ñ ØØÐ.Ò.Ø�K‰K×Ñ˜\Ð-OÐP]Èð  _Cð  ,Dô  EØ�K‰K×Ñ˜\Ð+_Ô`Øà�K‰K×Ñ Ð.XÔYØr   N)zhttp://localhost:8000)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ústrr   Úboolr   r   © r   r   r   r      s0   „ Ù/ñ6˜vð 6°ó 6ð ó ð dô r   r   N)r'   Útests.utils.loggerr   Útests.utils.http_utilsr   r   r*   r   r   ú<module>r-      s   ðñõ &Ý ,÷*ò *r   