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
