809 } else { |
809 } else { |
810 session_set_error(sn, ret, status); |
810 session_set_error(sn, ret, status); |
811 return 1; |
811 return 1; |
812 } |
812 } |
813 } |
813 } |
|
814 |
|
815 int dav_exists(DavResource *res) { |
|
816 DavSession *sn = res->session; |
|
817 char *url = util_concat_path(sn->base_url, res->path); |
|
818 CURL *handle = sn->handle; |
|
819 curl_easy_setopt(handle, CURLOPT_URL, url); |
|
820 free(url); |
|
821 |
|
822 CURLcode ret = do_head_request(handle); |
|
823 int status = 0; |
|
824 curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); |
|
825 if(ret == CURLE_OK && (status >= 200 && status < 300)) { |
|
826 return 1; |
|
827 } else { |
|
828 session_set_error(sn, ret, status); |
|
829 return 0; |
|
830 } |
|
831 } |