905 long status = 0; |
905 long status = 0; |
906 curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); |
906 curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); |
907 int r = 0; |
907 int r = 0; |
908 if(ret == CURLE_OK && (status >= 200 && status < 300)) { |
908 if(ret == CURLE_OK && (status >= 200 && status < 300)) { |
909 res->session->error = DAV_OK; |
909 res->session->error = DAV_OK; |
|
910 res->exists = 0; |
910 |
911 |
911 // TODO: parse response |
912 // TODO: parse response |
912 // TODO: free res |
913 // TODO: free res |
913 } else { |
914 } else { |
914 dav_session_set_error(res->session, ret, status); |
915 dav_session_set_error(res->session, ret, status); |
1010 |
1011 |
1011 int dav_create(DavResource *res) { |
1012 int dav_create(DavResource *res) { |
1012 int status; |
1013 int status; |
1013 if(!create_resource(res, &status)) { |
1014 if(!create_resource(res, &status)) { |
1014 // resource successfully created |
1015 // resource successfully created |
|
1016 res->exists = 1; |
1015 return 0; |
1017 return 0; |
1016 } |
1018 } |
1017 |
1019 |
1018 if(status == 403 || status == 409 || status == 404) { |
1020 if(status == 403 || status == 409 || status == 404) { |
1019 // create intermediate collections |
1021 // create intermediate collections |
1034 |
1036 |
1035 CURLcode ret = do_head_request(sn); |
1037 CURLcode ret = do_head_request(sn); |
1036 long status = 0; |
1038 long status = 0; |
1037 curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); |
1039 curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); |
1038 if(ret == CURLE_OK && (status >= 200 && status < 300)) { |
1040 if(ret == CURLE_OK && (status >= 200 && status < 300)) { |
|
1041 res->exists = 1; |
1039 return 1; |
1042 return 1; |
1040 } else { |
1043 } else { |
1041 dav_session_set_error(sn, ret, status); |
1044 dav_session_set_error(sn, ret, status); |
|
1045 if(status == 404) { |
|
1046 res->exists = 0; |
|
1047 } |
1042 return 0; |
1048 return 0; |
1043 } |
1049 } |
1044 } |
1050 } |
1045 |
1051 |
1046 static int dav_cp_mv_url(DavResource *res, char *desturl, _Bool copy, _Bool override) { |
1052 static int dav_cp_mv_url(DavResource *res, char *desturl, _Bool copy, _Bool override) { |