<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _make_dav_request(self, method, path, **kwargs):
 """Makes a WebDAV request :param method: HTTP method :param path: remote path of the targetted file :param \*\*kwargs: optional arguments that ``requests.Request.request`` accepts :returns array of :class:`FileInfo` if the response contains it, or True if the operation succeded, False if it didn't """

        if self._debug:
            print('DAV request: %s %s' % (method, path))
            if kwargs.get('headers'):
                print('Headers: ', kwargs.get('headers'))

        path = self._normalize_path(path)
        res = self._session.request(
            method,
            self._webdav_url + parse.quote(self._encode_string(path)),
            **kwargs
        )
        if self._debug:
            print('DAV status: %i' % res.status_code)
        if res.status_code in [200, 207]:
            return self._parse_dav_response(res)
        if res.status_code in [204, 201]:
            return True
        raise HTTPResponseError(res)