Metadata-Version: 1.0
Name: repoze.what.plugins.ip
Version: 0.2
Summary: ip based restrictions for repoze.what.
Home-page: http://code.google.com/p/repoze-what-plugins-ip
Author: Vince Spicer
Author-email: vinces1979@gmail.com
License: Apache 2.0
Description: 
        repoze.what.plugins.ip
        ======================
        
        It is a repoze.what_ plugin that provides an ip_from predicate.
        
        Installation
        ------------
        
        easy_install_::
        
        $ <env>/bin/easy_install repoze.what.plugins.ip
        
        pip_::
        
        $ <env>/bin/pip install repoze.what.plugins.ip
        
        Source
        ------
        
        The source code can be found at code.google.com_.
        
        Usage
        -----
        
        ``ip_from([allowed=None], [proxies=None])`` checks whether REMOTE_ADDR in the
        environment points to an allowed IP address. If HTTP_X_FORWARDED_FOR is set
        in the environment (meaning proxy access) then REMOTE_ADDR is treated as a proxy
        address and HTTP_X_FORWARDED_FOR as an originating IP address.
        
        ``allowed`` optional, default - ``None``
        A list of IPs to allow access. Can be a string which is then interpreted as
        a single IP address
        
        ``proxies`` optional, default - ``None``
        If a list or tuple provided then treated as a list of authorized proxy IP
        addresses.
        
        If a string or unicode provided then treated as a single IP address.
        
        Any other value - ``bool(proxies) == True`` means that all proxies are
        accepted
        
        You can filter the incoming IP address::
        
        >>> from repoze.what.plugins.ip import ip_from
        >>> p = ip_from(allowed=['192.168.1.1'])
        >>> env = {'REMOTE_ADDR': '192.168.1.1'}
        >>> p.is_met(env)
        True
        >>> env = {'REMOTE_ADDR': '192.168.1.10'}
        >>> p.is_met(env)
        False
        
        By default proxy access is disabled. You can enable it with ``proxies=True``::
        
        >>> p = ip_from(allowed=['192.168.0.0/24'], proxies=True)
        >>> env = {
        ...     'REMOTE_ADDR': '192.168.1.1',           # proxy
        ...     'HTTP_X_FORWARDED_FOR': '192.168.1.5'   # origin
        ... }
        >>> p.is_met(env)
        True
        
        And you can also explicitly specify proxies to allow::
        
        >>> p = ip_from(allowed='192.168.1.5', proxies=['192.168.0.0/24'])
        >>> env = {
        ...     'REMOTE_ADDR': '192.168.1.1',           # proxy
        ...     'HTTP_X_FORWARDED_FOR': '192.168.1.5'   # origin
        ... }
        >>> p.is_met(env)
        True
        
        .. _repoze.what: http://what.repoze.org/docs/1.0/
        .. _easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall
        .. _pip: http://pip.openplans.org/
        .. _code.google.com: http://code.google.com/p/repoze-what-plugins-ip/
        
Keywords: wsgi repoze what paste paster google ip ipaddr proxy
      remote_addr x_forwarded_for http_x_forwarded_for
Platform: UNKNOWN
