1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package main
- import (
- "net/http"
- "strings"
- )
- func HandleRAIDCalls() http.Handler {
- return http.StripPrefix("/raid/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
- pathParts := strings.Split(r.URL.Path, "/")
- switch pathParts[0] {
- case "list":
-
- raidManager.HandleListRaidDevices(w, r)
- return
- case "info":
-
- raidManager.HandleLoadArrayDetail(w, r)
- return
- case "overview":
-
- raidManager.HandleRenderOverview(w, r)
- return
- case "sync":
-
- raidManager.HandleGetRAIDSyncState(w, r)
- return
- case "start-resync":
-
- raidManager.HandleSyncPendingToReadWrite(w, r)
- return
- default:
- http.Error(w, "Not Found", http.StatusNotFound)
- return
- }
- }))
- }
|