| 921:3ffee649f0b1 | 922:42ecf0e5075a |
|---|---|
| 38 #include "session.h" | 38 #include "session.h" |
| 39 #include "resource.h" | 39 #include "resource.h" |
| 40 #include "methods.h" | 40 #include "methods.h" |
| 41 #include "atomic.h" | 41 #include "atomic.h" |
| 42 | 42 |
| 43 DavSession* dav_session_new(DavContext *context, char *base_url) { | 43 DavSession* dav_session_new(DavContext *context, const char *base_url) { |
| 44 if(!base_url) { | 44 if(!base_url) { |
| 45 return NULL; | 45 return NULL; |
| 46 } | 46 } |
| 47 cxstring url = cx_str(base_url); | 47 cxstring url = cx_str(base_url); |
| 48 if(url.length == 0) { | 48 if(url.length == 0) { |
| 103 return sn; | 103 return sn; |
| 104 } | 104 } |
| 105 | 105 |
| 106 DavSession* dav_session_new_auth( | 106 DavSession* dav_session_new_auth( |
| 107 DavContext *context, | 107 DavContext *context, |
| 108 char *base_url, | 108 const char *base_url, |
| 109 char *user, | 109 const char *user, |
| 110 char *password) | 110 const char *password) |
| 111 { | 111 { |
| 112 DavSession *sn = dav_session_new(context, base_url); | 112 DavSession *sn = dav_session_new(context, base_url); |
| 113 if(!sn) { | 113 if(!sn) { |
| 114 return NULL; | 114 return NULL; |
| 115 } | 115 } |
| 169 curl_easy_setopt(sn->handle, CURLOPT_USERPWD, upwdbuf); | 169 curl_easy_setopt(sn->handle, CURLOPT_USERPWD, upwdbuf); |
| 170 free(upwdbuf); | 170 free(upwdbuf); |
| 171 } | 171 } |
| 172 } | 172 } |
| 173 | 173 |
| 174 void dav_session_set_baseurl(DavSession *sn, char *base_url) { | 174 void dav_session_set_baseurl(DavSession *sn, const char *base_url) { |
| 175 const CxAllocator *a = sn->mp->allocator; | 175 const CxAllocator *a = sn->mp->allocator; |
| 176 if(sn->base_url) { | 176 cxFree(a, sn->base_url); |
| 177 cxFree(a, sn->base_url); | |
| 178 } | |
| 179 | 177 |
| 180 cxstring url = cx_str(base_url); | 178 cxstring url = cx_str(base_url); |
| 181 if(url.ptr[url.length - 1] == '/') { | 179 if(url.ptr[url.length - 1] == '/') { |
| 182 cxmutstr url_m = cx_strdup_a(a, cx_str(base_url)); | 180 cxmutstr url_m = cx_strdup_a(a, cx_str(base_url)); |
| 183 sn->base_url = url_m.ptr; | 181 sn->base_url = url_m.ptr; |