mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-10 14:28:12 +00:00
4f7335ed73
* feat: add new logger * refactor: use one struct for context handling and cancellation * refactor: rework logging and config in controllers * refactor: rework logging and config in middlewares * refactor: rework logging and cancellation in services * refactor: rework cli logging * fix: improve logging in routines * feat: use sync groups for better cancellation * refactor: simplify middleware, controller and service init * tests: fix controller tests * tests: use require instead of assert where previous step is required * tests: fix middleware tests * tests: fix service tests * tests: fix context tests * fix: fix typos * feat: add option to enable or disable concurrent listeners * fix: assign public key correctly in oidc server * tests: fix don't try to test logger with char size * fix: coderabbit comments * tests: use filepath join instead of path join * fix: ensure unix socket shutdown doesn't run twice * chore: remove temp lint file
48 lines
995 B
Go
48 lines
995 B
Go
package controller
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/tinyauthapp/tinyauth/internal/model"
|
|
)
|
|
|
|
type ResourcesController struct {
|
|
config model.Config
|
|
fileServer http.Handler
|
|
}
|
|
|
|
func NewResourcesController(
|
|
config model.Config,
|
|
router *gin.RouterGroup,
|
|
) *ResourcesController {
|
|
fileServer := http.StripPrefix("/resources", http.FileServer(http.Dir(config.Resources.Path)))
|
|
|
|
controller := &ResourcesController{
|
|
config: config,
|
|
fileServer: fileServer,
|
|
}
|
|
|
|
router.GET("/resources/*resource", controller.resourcesHandler)
|
|
|
|
return controller
|
|
}
|
|
|
|
func (controller *ResourcesController) resourcesHandler(c *gin.Context) {
|
|
if controller.config.Resources.Path == "" {
|
|
c.JSON(404, gin.H{
|
|
"status": 404,
|
|
"message": "Resources not found",
|
|
})
|
|
return
|
|
}
|
|
if !controller.config.Resources.Enabled {
|
|
c.JSON(403, gin.H{
|
|
"status": 403,
|
|
"message": "Resources are disabled",
|
|
})
|
|
return
|
|
}
|
|
controller.fileServer.ServeHTTP(c.Writer, c.Request)
|
|
}
|