src/server/webdav/webdav.c

changeset 36
450d2d5f4735
parent 31
280250e45ba6
child 44
3da1f7b6847f
equal deleted inserted replaced
35:4417619a9bbd 36:450d2d5f4735
415 415
416 return REQ_PROCEED; 416 return REQ_PROCEED;
417 } 417 }
418 418
419 void dav_resource_response(PropfindRequest *davrq, sstr_t path, sstr_t uri) { 419 void dav_resource_response(PropfindRequest *davrq, sstr_t path, sstr_t uri) {
420 printf("dav_resource_response %s %s\n", sstrdub(path).ptr, sstrdub(uri).ptr); 420 printf("dav_resource_response %s %s\n", sstrdup(path).ptr, sstrdup(uri).ptr);
421 421
422 sbuf_puts(davrq->out, "<D:response>\n"); 422 sbuf_puts(davrq->out, "<D:response>\n");
423 sbuf_puts(davrq->out, "<D:href>"); 423 sbuf_puts(davrq->out, "<D:href>");
424 sbuf_append(davrq->out, uri); 424 sbuf_append(davrq->out, uri);
425 sbuf_puts(davrq->out, "</D:href>\n"); 425 sbuf_puts(davrq->out, "</D:href>\n");
673 sbuf_puts(out, "\n</D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n"); 673 sbuf_puts(out, "\n</D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n");
674 sbuf_puts(out, "</D:propstat>\n"); 674 sbuf_puts(out, "</D:propstat>\n");
675 } 675 }
676 676
677 UcxMapIterator iter = ucx_map_iterator(propstat->map); 677 UcxMapIterator iter = ucx_map_iterator(propstat->map);
678 UCX_MAP_FOREACH(UcxDlist*, proplist, propstat->map, iter) { 678 UcxDlist *proplist;
679 UCX_MAP_FOREACH(proplist, iter) {
679 if(proplist) { 680 if(proplist) {
680 sbuf_puts(out, "<D:propstat>\n<D:prop>\n"); 681 sbuf_puts(out, "<D:propstat>\n<D:prop>\n");
681 682
682 DAV_FOREACH(prop, proplist) { 683 DAV_FOREACH(prop, proplist) {
683 xmlelm_write((XmlElement*)prop->data, out, wv); 684 xmlelm_write((XmlElement*)prop->data, out, wv);

mercurial