Checks if rule matches given request parameters

        :type method: str
        :param method: HTTP method, e.g. ``'GET'``, ``'POST'``, etc.
            Can take any custom string

        :type path: str
        :param path: request path including query parameters,
            e.g. ``'/users?name=John%20Doe'``

        :type bytes: bytes
        :param bytes: request body

        :returns: ``True`` if this rule matches given params
        :rtype: bool

def matches(self, method, path, headers, bytes=None):
        '''
        Checks if rule matches given request parameters

        :type method: str
        :param method: HTTP method, e.g. ``'GET'``, ``'POST'``, etc.
            Can take any custom string

        :type path: str
        :param path: request path including query parameters,
            e.g. ``'/users?name=John%20Doe'``

        :type bytes: bytes
        :param bytes: request body

        :returns: ``True`` if this rule matches given params
        :rtype: bool
        '''
        return self._expectation.matches(method, path, headers, bytes)