'Return a dictionary of query param filters from the request
:param req: the Request object coming from the wsgi layer
:returns: a dict of key/value filters'

def _get_filters(self, req):

    filters = {}
    properties = {}
    for param in req.params:
        if (param in SUPPORTED_FILTERS):
            filters[param] = req.params.get(param)
        if param.startswith('property-'):
            _param = param[9:]
            properties[_param] = req.params.get(param)
    if ('changes-since' in filters):
        isotime = filters['changes-since']
        try:
            filters['changes-since'] = timeutils.parse_isotime(isotime)
        except ValueError:
            raise exc.HTTPBadRequest(_('Unrecognized    changes-since    value'))
    if ('protected' in filters):
        value = self._get_bool(filters['protected'])
        if (value is None):
            raise exc.HTTPBadRequest(_('protected    must    be    True,    or    False'))
        filters['protected'] = value
    if req.context.is_admin:
        deleted_filter = self._parse_deleted_filter(req)
        if (deleted_filter is not None):
            filters['deleted'] = deleted_filter
        elif ('changes-since' not in filters):
            filters['deleted'] = False
    elif ('changes-since' not in filters):
        filters['deleted'] = False
    if properties:
        filters['properties'] = properties
    return filters
