func camliHandlerUsingStorage(req *http.Request, action string, storage blobserver.StorageConfiger) (func(http.ResponseWriter, *http.Request), auth.Operation) { handler := unsupportedHandler op := auth.OpAll switch req.Method { case "GET": switch action { case "enumerate-blobs": handler = handlers.CreateEnumerateHandler(storage) op = auth.OpGet case "stat": handler = handlers.CreateStatHandler(storage) default: handler = gethandler.CreateGetHandler(storage) op = auth.OpGet } case "POST": switch action { case "stat": handler = handlers.CreateStatHandler(storage) op = auth.OpStat case "upload": handler = handlers.CreateUploadHandler(storage) op = auth.OpUpload case "remove": handler = handlers.CreateRemoveHandler(storage) } } return handler, op }
func handleCamliUsingStorage(conn http.ResponseWriter, req *http.Request, action string, storage blobserver.StorageConfiger) { handler := unsupportedHandler switch req.Method { case "GET": switch action { case "enumerate-blobs": handler = auth.RequireAuth(handlers.CreateEnumerateHandler(storage)) case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage)) default: handler = handlers.CreateGetHandler(storage) } case "POST": switch action { case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage)) case "upload": handler = auth.RequireAuth(handlers.CreateUploadHandler(storage)) case "remove": handler = auth.RequireAuth(handlers.CreateRemoveHandler(storage)) } case "PUT": // no longer part of spec handler = auth.RequireAuth(handlers.CreateNonStandardPutHandler(storage)) } handler(conn, req) }
func handleCamliUsingStorage(conn http.ResponseWriter, req *http.Request, action string, storage blobserver.StorageConfiger) { handler := unsupportedHandler switch req.Method { case "GET": switch action { case "enumerate-blobs": handler = auth.RequireAuth(handlers.CreateEnumerateHandler(storage), auth.OpGet) case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage), auth.OpAll) default: handler = gethandler.CreateGetHandler(storage) } case "POST": switch action { case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage), auth.OpStat) case "upload": handler = auth.RequireAuth(handlers.CreateUploadHandler(storage), auth.OpUpload) case "remove": handler = auth.RequireAuth(handlers.CreateRemoveHandler(storage), auth.OpAll) } // TODO: delete. Replaced with upload helper endpoint. case "PUT": // no longer part of spec handler = auth.RequireAuth(handlers.CreateNonStandardPutHandler(storage), auth.OpAll) } handler(conn, req) }
// action is the part following "/camli/" in the URL. It's either a // string like "enumerate-blobs", "stat", "upload", or a blobref. func camliHandlerUsingStorage(req *http.Request, action string, storage blobserver.StorageConfiger) (http.Handler, auth.Operation) { var handler http.Handler op := auth.OpAll switch req.Method { case "GET", "HEAD": switch action { case "enumerate-blobs": handler = handlers.CreateEnumerateHandler(storage) op = auth.OpGet case "stat": handler = handlers.CreateStatHandler(storage) default: handler = handlers.CreateGetHandler(storage) op = auth.OpGet } case "POST": switch action { case "stat": handler = handlers.CreateStatHandler(storage) op = auth.OpStat case "upload": handler = handlers.CreateBatchUploadHandler(storage) op = auth.OpUpload case "remove": handler = handlers.CreateRemoveHandler(storage) } case "PUT": handler = handlers.CreatePutUploadHandler(storage) op = auth.OpUpload } if handler == nil { handler = http.HandlerFunc(unsupportedHandler) } return handler, op }
func handleCamliUsingStorage(conn http.ResponseWriter, req *http.Request, action string, storage blobserver.StorageConfiger) { handler := unsupportedHandler switch req.Method { case "GET": switch action { case "enumerate-blobs": handler = auth.RequireAuth(handlers.CreateEnumerateHandler(storage), auth.OpGet) case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage), auth.OpAll) default: handler = gethandler.CreateGetHandler(storage) } case "POST": switch action { case "stat": handler = auth.RequireAuth(handlers.CreateStatHandler(storage), auth.OpStat) case "upload": handler = auth.RequireAuth(handlers.CreateUploadHandler(storage), auth.OpUpload) case "remove": handler = auth.RequireAuth(handlers.CreateRemoveHandler(storage), auth.OpAll) } } handler(conn, req) }