mirror of
https://github.com/cloudreve/Cloudreve.git
synced 2025-12-25 15:42:47 +00:00
fix(webdav): error code for missing parent in mkcol should be `409` instead of `404` (#2953)
This commit is contained in:
parent
46897e2880
commit
e29237d593
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue