32 lines
752 B
Go
32 lines
752 B
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/arnab-afk/monaco/internal/api/handlers"
|
|
)
|
|
|
|
// SetupRoutes configures all API routes
|
|
func SetupRoutes() http.Handler {
|
|
// Create a new handler
|
|
h := handlers.NewHandler()
|
|
|
|
// Create a new router
|
|
mux := http.NewServeMux()
|
|
|
|
// Apply middleware to all routes
|
|
var handler http.Handler = mux
|
|
handler = handlers.RecoveryMiddleware(handler)
|
|
handler = handlers.LoggingMiddleware(handler)
|
|
handler = handlers.CORSMiddleware(handler)
|
|
|
|
// Register routes
|
|
mux.HandleFunc("/submit", h.SubmitHandler)
|
|
mux.HandleFunc("/status", h.StatusHandler)
|
|
mux.HandleFunc("/result", h.ResultHandler)
|
|
mux.HandleFunc("/queue-stats", h.QueueStatsHandler)
|
|
mux.HandleFunc("/health", h.HealthCheckHandler)
|
|
|
|
return handler
|
|
}
|