refactor: move resource handling to a controller

This commit is contained in:
Stavros
2025-08-26 12:22:10 +03:00
parent 03af18fd15
commit 645c555cf0
13 changed files with 86 additions and 71 deletions

View File

@@ -14,6 +14,7 @@ func NewHealthController(router *gin.RouterGroup) *HealthController {
func (controller *HealthController) SetupRoutes() {
controller.Router.GET("/health", controller.healthHandler)
controller.Router.HEAD("/health", controller.healthHandler)
}
func (controller *HealthController) healthHandler(c *gin.Context) {

View File

@@ -0,0 +1,32 @@
package controller
import (
"net/http"
"github.com/gin-gonic/gin"
)
type ResourcesControllerConfig struct {
ResourcesDir string
}
type ResourcesController struct {
Config ResourcesControllerConfig
Router *gin.RouterGroup
}
func NewResourcesController(config ResourcesControllerConfig, router *gin.RouterGroup) *ResourcesController {
return &ResourcesController{
Config: config,
Router: router,
}
}
func (controller *ResourcesController) SetupRoutes() {
controller.Router.GET("/resources/*resource", controller.resourcesHandler)
}
func (controller *ResourcesController) resourcesHandler(c *gin.Context) {
fileServer := http.StripPrefix("/resources", http.FileServer(http.Dir(controller.Config.ResourcesDir)))
fileServer.ServeHTTP(c.Writer, c.Request)
}