src/server/webdav/operation.c

changeset 503
aeaf7db26fac
parent 415
d938228c382e
equal deleted inserted replaced
502:11ac3761c0e3 503:aeaf7db26fac
731 // if needed, call vfs func for this operation 731 // if needed, call vfs func for this operation
732 if(exec_vfs) { 732 if(exec_vfs) {
733 int r = 0; 733 int r = 0;
734 if(type == WEBDAV_VFS_MKDIR) { 734 if(type == WEBDAV_VFS_MKDIR) {
735 r = vfs_mkdir(op->vfs, op->path); 735 r = vfs_mkdir(op->vfs, op->path);
736 if(r) {
737 // mkcol specific status codes
738 switch(op->vfs->vfs_errno) {
739 case ENOENT: {
740 op->rq->status_num = 409;
741 break;
742 }
743 case EEXIST: {
744 op->rq->status_num = 405;
745 break;
746 }
747 case EACCES: {
748 op->rq->status_num = 403;
749 break;
750 }
751 default: op->rq->status_num = 500;
752 }
753 }
736 } else if(type == WEBDAV_VFS_DELETE) { 754 } else if(type == WEBDAV_VFS_DELETE) {
737 r = webdav_vfs_unlink(op); 755 r = webdav_vfs_unlink(op);
738 } 756 }
739 757
740 if(r) { 758 if(r) {

mercurial