mirror of
https://github.com/cloudreve/cloudreve.git
synced 2026-03-03 03:47:01 +00:00
fix(webdav): error code for missing parent in mkcol should be 409 instead of 404 (#2953)
This commit is contained in:
@@ -212,7 +212,13 @@ func handleMkcol(c *gin.Context, user *ent.User, fm manager.FileManager) (status
|
||||
|
||||
_, err = fm.Create(ctx, uri, types.FileTypeFolder, dbfs.WithNoChainedCreation(), dbfs.WithErrorOnConflict())
|
||||
if err != nil {
|
||||
return purposeStatusCodeFromError(err), err
|
||||
code := purposeStatusCodeFromError(err)
|
||||
if code == http.StatusNotFound {
|
||||
// When the MKCOL operation creates a new collection resource, all ancestors MUST already exist,
|
||||
// or the method MUST fail with a 409 (Conflict) status code.
|
||||
return http.StatusConflict, err
|
||||
}
|
||||
return code, err
|
||||
}
|
||||
|
||||
return http.StatusCreated, nil
|
||||
|
||||
Reference in New Issue
Block a user