U
    ^g                     @  sJ   d dl mZ d dlmZmZ d dlmZ ddddZddd	d
dZdS )    )annotations)AnyCallable)requeststr)returnc                   C  s
   t jpdS )z\
    :return: the ip address for the current request
     (or 127.0.0.1 if none found)

    z	127.0.0.1)r   Zremote_addr r   r   6/tmp/pip-unpacked-wheel-8ut481ky/flask_limiter/util.pyget_remote_address   s    r
   zCallable[..., Any])callabler   c                 C  s   | 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__)r   r   r   r	   get_qualified_name   s    r   N)	
__future__r   typingr   r   Zflaskr   r
   r   r   r   r   r	   <module>   s   	