def settings():
    """ Fetch the middleware settings.

    :return dict: settings
    """
    # Get the user-provided settings
    user_settings = dict(getattr(django_settings, _settings_key, {}))
    user_settings_keys = set(user_settings.keys())
    # Check for required but missing settings
    missing = _required_settings_keys - user_settings_keys
    if missing:
        raise AuthzConfigurationError(
            'Missing required {} config: {}'.format(_settings_key, missing))
    # Check for unknown settings
    unknown = user_settings_keys - _available_settings_keys
    if unknown:
        raise AuthzConfigurationError(
            'Unknown {} config params: {}'.format(_settings_key, unknown))
    # Merge defaults with provided settings
    defaults = _available_settings_keys - user_settings_keys
    user_settings.update({key: _available_settings[key] for key in defaults})

    _rectify(user_settings)
    return types.MappingProxyType(user_settings)
def settings ( ) : user_settings = dict ( getattr ( django_settings , _settings_key , { } ) ) user_settings_keys = set ( user_settings . keys ( ) ) missing = _required_settings_keys - user_settings_keys if missing : raise AuthzConfigurationError ( 'Missing required {} config: {}' . format ( _settings_key , missing ) ) unknown = user_settings_keys - _available_settings_keys if unknown : raise AuthzConfigurationError ( 'Unknown {} config params: {}' . format ( _settings_key , unknown ) ) defaults = _available_settings_keys - user_settings_keys user_settings . update ( { key : _available_settings [ key ] for key in defaults } ) _rectify ( user_settings ) return types . MappingProxyType ( user_settings )
Fetch the middleware settings.

    :return dict: settings