
    9i                    D    d dl mZ d dlmZ d dlmZ d dlmZ ddZd	dZ	y)
    )annotations)Callable)Any)requestc                 *    t         j                  xs dS )zW
    :return: the ip address for the current request (or 127.0.0.1 if none found)

    z	127.0.0.1)r   remote_addr     E/var/www/html/venv/lib/python3.12/site-packages/flask_limiter/util.pyget_remote_addressr   	   s    
 -+-r
   c                R    | j                    d| j                   d| j                   S )a  
    Generate the fully qualified name of a callable for use in storing mappings of decorated
    functions to rate limits

    The __qualname__ of the callable is appended in case there is a name clash in a module due to
    locally scoped functions that are decorated.

    TODO: Ideally __qualname__ should be enough, however view functions generated by class based
    views do not update that and therefore would not be uniquely identifiable unless
    __module__ & __name__ are inspected.

    :meta private:
    .)
__module____name____qualname__)callables    r   get_qualified_namer      s0     !!"!H$5$5#6a8M8M7NOOr
   N)returnstr)r   zCallable[..., Any]r   r   )

__future__r   collections.abcr   typingr   flaskr   r   r   r	   r
   r   <module>r      s    " $  .Pr
   