code: def 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)
docs: Fetch the middleware settings.
  
      :return dict: settings