@@ -4,53 +4,52 @@ import (
44 "net/http"
55)
66
7- func (h * aliasHandler ) mutate (w http.ResponseWriter , r * http.Request , session * sessionContext , data * responseData ) {
7+ func (h * aliasHandler ) mutate (w http.ResponseWriter , r * http.Request , session * sessionContext , data * responseData ) ( ok bool ) {
88 if r .Method != http .MethodPost {
9- w . WriteHeader ( http .StatusMethodNotAllowed )
9+ data . Status = http .StatusMethodNotAllowed
1010 return
1111 }
1212
13- success := false
14-
1513 switch {
1614 case data .IsUpload :
1715 if data .CanUpload {
18- success = h .saveUploadFiles (data .AuthUserName , h .fs + session .aliasReqPath , data .CanMkdir , data .CanDelete , data .AliasSubItems , r )
16+ ok = h .saveUploadFiles (data .AuthUserName , h .fs + session .aliasReqPath , data .CanMkdir , data .CanDelete , data .AliasSubItems , r )
1917 } else {
20- w . WriteHeader ( http .StatusBadRequest )
18+ data . Status = http .StatusBadRequest
2119 return
2220 }
2321 case data .IsMkdir :
2422 if data .CanMkdir && ! h .logError (r .ParseForm ()) {
25- success = h .mkdirs (data .AuthUserName , h .fs + session .aliasReqPath , r .Form ["name" ], data .AliasSubItems , r )
23+ ok = h .mkdirs (data .AuthUserName , h .fs + session .aliasReqPath , r .Form ["name" ], data .AliasSubItems , r )
2624 } else {
27- w . WriteHeader ( http .StatusBadRequest )
25+ data . Status = http .StatusBadRequest
2826 return
2927 }
3028 case data .IsDelete :
3129 if data .CanDelete && ! h .logError (r .ParseForm ()) {
32- success = h .deleteItems (data .AuthUserName , h .fs + session .aliasReqPath , r .Form ["name" ], data .AliasSubItems , r )
30+ ok = h .deleteItems (data .AuthUserName , h .fs + session .aliasReqPath , r .Form ["name" ], data .AliasSubItems , r )
3331 } else {
34- w . WriteHeader ( http .StatusBadRequest )
32+ data . Status = http .StatusBadRequest
3533 return
3634 }
3735 }
3836
3937 if session .wantJson {
4038 header := w .Header ()
4139 header .Set ("Content-Type" , "application/json; charset=utf-8" )
42- header .Set ("Cache-Control" , "public, max-age=0" )
4340
44- if success {
41+ if ok {
4542 w .WriteHeader (http .StatusOK )
4643 w .Write ([]byte (`{"success":true}` ))
4744 } else {
4845 w .WriteHeader (http .StatusInternalServerError )
4946 w .Write ([]byte (`{"success":false}` ))
5047 }
51- } else {
52- reqPath := session . prefixReqPath
48+ return true
49+ }
5350
51+ if ok {
52+ reqPath := session .prefixReqPath
5453 ctxQsList := r .Form ["contextquerystring" ]
5554 ctxQsListLen := len (ctxQsList )
5655 if ctxQsListLen > 0 {
@@ -59,11 +58,10 @@ func (h *aliasHandler) mutate(w http.ResponseWriter, r *http.Request, session *s
5958 reqPath += ctxQs
6059 }
6160 }
62-
63- if success {
64- http .Redirect (w , r , reqPath , http .StatusFound )
65- } else {
66- w .WriteHeader (http .StatusInternalServerError )
67- }
61+ http .Redirect (w , r , reqPath , http .StatusFound )
62+ return
6863 }
64+
65+ data .Status = http .StatusInternalServerError
66+ return
6967}
0 commit comments