36 lines
946 B
Go
Raw Permalink Normal View History

2024-08-18 22:57:08 +07:00
package router
2025-03-01 23:22:18 +07:00
import (
"khairul169/garage-webui/middleware"
"net/http"
)
2024-08-18 22:57:08 +07:00
func HandleApiRouter() *http.ServeMux {
2025-03-01 23:22:18 +07:00
mux := http.NewServeMux()
auth := &Auth{}
mux.HandleFunc("POST /auth/login", auth.Login)
2024-08-18 22:57:08 +07:00
router := http.NewServeMux()
2025-03-01 23:22:18 +07:00
router.HandleFunc("POST /auth/logout", auth.Logout)
router.HandleFunc("GET /auth/status", auth.GetStatus)
2024-08-18 22:57:08 +07:00
config := &Config{}
router.HandleFunc("GET /config", config.GetAll)
buckets := &Buckets{}
router.HandleFunc("GET /buckets", buckets.GetAll)
browse := &Browse{}
router.HandleFunc("GET /browse/{bucket}", browse.GetObjects)
router.HandleFunc("GET /browse/{bucket}/{key...}", browse.GetOneObject)
2024-08-19 02:28:25 +07:00
router.HandleFunc("PUT /browse/{bucket}/{key...}", browse.PutObject)
router.HandleFunc("DELETE /browse/{bucket}/{key...}", browse.DeleteObject)
2024-08-18 22:57:08 +07:00
2025-03-01 23:22:18 +07:00
// Proxy request to garage api endpoint
2024-08-18 22:57:08 +07:00
router.HandleFunc("/", ProxyHandler)
2025-03-01 23:22:18 +07:00
mux.Handle("/", middleware.AuthMiddleware(router))
return mux
2024-08-18 22:57:08 +07:00
}