111 sstr_t url = sstr(base_url); |
111 sstr_t url = sstr(base_url); |
112 if(url.length == 0) { |
112 if(url.length == 0) { |
113 return NULL; |
113 return NULL; |
114 } |
114 } |
115 DavSession *sn = malloc(sizeof(DavSession)); |
115 DavSession *sn = malloc(sizeof(DavSession)); |
|
116 sn->errorstr = NULL; |
|
117 sn->error = CURLE_OK; |
116 if(url.ptr[url.length - 1] == '/') { |
118 if(url.ptr[url.length - 1] == '/') { |
117 sn->base_url = strdup(base_url); |
119 sn->base_url = strdup(base_url); |
118 } else { |
120 } else { |
119 char *url_str = malloc(url.length + 2); |
121 char *url_str = malloc(url.length + 2); |
120 memcpy(url_str, base_url, url.length); |
122 memcpy(url_str, base_url, url.length); |
183 case 405: sn->error = DAV_METHOD_NOT_ALLOWED; break; |
185 case 405: sn->error = DAV_METHOD_NOT_ALLOWED; break; |
184 case 409: sn->error = DAV_CONFLICT; break; |
186 case 409: sn->error = DAV_CONFLICT; break; |
185 } |
187 } |
186 } else { |
188 } else { |
187 sn->error = DAV_ERROR; |
189 sn->error = DAV_ERROR; |
|
190 } |
|
191 if(c != CURLE_OK) { |
|
192 sn->errorstr = curl_easy_strerror(c); |
|
193 } else { |
|
194 sn->errorstr = NULL; |
188 } |
195 } |
189 } |
196 } |
190 |
197 |
191 void dav_session_destroy(DavSession *sn) { |
198 void dav_session_destroy(DavSession *sn) { |
192 // remove session from context |
199 // remove session from context |