mirror of
				https://github.com/khairul169/garage-webui.git
				synced 2025-10-31 07:09:32 +07:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			946 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			946 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package router
 | |
| 
 | |
| import (
 | |
| 	"khairul169/garage-webui/middleware"
 | |
| 	"net/http"
 | |
| )
 | |
| 
 | |
| func HandleApiRouter() *http.ServeMux {
 | |
| 	mux := http.NewServeMux()
 | |
| 
 | |
| 	auth := &Auth{}
 | |
| 	mux.HandleFunc("POST /auth/login", auth.Login)
 | |
| 
 | |
| 	router := http.NewServeMux()
 | |
| 	router.HandleFunc("POST /auth/logout", auth.Logout)
 | |
| 	router.HandleFunc("GET /auth/status", auth.GetStatus)
 | |
| 
 | |
| 	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)
 | |
| 	router.HandleFunc("PUT /browse/{bucket}/{key...}", browse.PutObject)
 | |
| 	router.HandleFunc("DELETE /browse/{bucket}/{key...}", browse.DeleteObject)
 | |
| 
 | |
| 	// Proxy request to garage api endpoint
 | |
| 	router.HandleFunc("/", ProxyHandler)
 | |
| 
 | |
| 	mux.Handle("/", middleware.AuthMiddleware(router))
 | |
| 	return mux
 | |
| }
 |