135 return NULL; |
135 return NULL; |
136 } |
136 } |
137 DavSession *sn = malloc(sizeof(DavSession)); |
137 DavSession *sn = malloc(sizeof(DavSession)); |
138 sn->errorstr = NULL; |
138 sn->errorstr = NULL; |
139 sn->error = DAV_OK; |
139 sn->error = DAV_OK; |
|
140 sn->flags = 0; |
140 if(url.ptr[url.length - 1] == '/') { |
141 if(url.ptr[url.length - 1] == '/') { |
141 sn->base_url = strdup(base_url); |
142 sn->base_url = strdup(base_url); |
142 } else { |
143 } else { |
143 char *url_str = malloc(url.length + 2); |
144 char *url_str = malloc(url.length + 2); |
144 memcpy(url_str, base_url, url.length); |
145 memcpy(url_str, base_url, url.length); |
152 //curl_easy_setopt(sn->handle, CURLOPT_STDERR, stderr); |
153 //curl_easy_setopt(sn->handle, CURLOPT_STDERR, stderr); |
153 |
154 |
154 // set proxy |
155 // set proxy |
155 DavProxy *proxy = sstrprefix(url, S("https")) ? context->https_proxy |
156 DavProxy *proxy = sstrprefix(url, S("https")) ? context->https_proxy |
156 : context->http_proxy; |
157 : context->http_proxy; |
157 |
158 |
158 if (proxy->url) { |
159 if (proxy->url) { |
159 curl_easy_setopt(sn->handle, CURLOPT_PROXY, proxy->url); |
160 curl_easy_setopt(sn->handle, CURLOPT_PROXY, proxy->url); |
160 if (proxy->username) { |
161 if (proxy->username) { |
161 curl_easy_setopt(sn->handle, CURLOPT_PROXYUSERNAME, |
162 curl_easy_setopt(sn->handle, CURLOPT_PROXYUSERNAME, |
162 proxy->username); |
163 proxy->username); |