Migrer exposition statique à StaticWithConfig

Ajouter groupStatic pour StaticWithConfig

Retirer handlers manuels redondants par StaticWithConfig
This commit is contained in:
Victor Lacasse-Beaudoin 2023-07-04 22:17:04 -04:00
parent 2eee1f2fd2
commit 6bc791506a
5 changed files with 26 additions and 22 deletions

View file

@ -134,6 +134,14 @@ func RunServer() {
e.Pre(middleware.RemoveTrailingSlash()) e.Pre(middleware.RemoveTrailingSlash())
groupStatic := e.Group("/public/*")
groupStatic.Use(middleware.StaticWithConfig(middleware.StaticConfig{
Root: "/",
Filesystem: http.FS(publicFS),
//TODO
//Browse: true,
}))
groupV1 := e.Group("/v1") groupV1 := e.Group("/v1")
groupV1.Use(middleware.AddTrailingSlash()) groupV1.Use(middleware.AddTrailingSlash())
@ -193,12 +201,6 @@ func RunServer() {
groupV1.DELETE("/bucket/:bucket/:document", handleV1DocumentDelete) groupV1.DELETE("/bucket/:bucket/:document", handleV1DocumentDelete)
// Static Routes
e.GET("/static/general.css", handleStaticCSSGeneral)
e.GET("/static/index.css", handleStaticCSSIndex)
// HTML Routes // HTML Routes
e.GET("/", handleIndex) e.GET("/", handleIndex)
@ -745,17 +747,3 @@ func handleAdminDocumentsUploadPOST(c echo.Context) error {
return c.Render(http.StatusOK, "admin-upload-html", struct{ Message string }{Message: message}) return c.Render(http.StatusOK, "admin-upload-html", struct{ Message string }{Message: message})
} }
// CSS Handlers
func handleStaticCSSIndex(c echo.Context) error {
// TODO Ajouter gestion d'erreurs
data, _ := publicFS.ReadFile("css/index.css")
return c.Blob(http.StatusOK, "text/css", data)
}
func handleStaticCSSGeneral(c echo.Context) error {
// TODO Ajouter gestion d'erreurs
data, _ := publicFS.ReadFile("css/general.css")
return c.Blob(http.StatusOK, "text/css", data)
}

View file

@ -1,3 +1,11 @@
/*
Package public contient les fichiers css et js exposés publiquement par l'application.
Le contenu sera embedded dans le fichier binaire, dans le but de bundle les
dépendances avec l'application, simplifiant son déploiement.
Une copie du contenu peut être obtenue par un appel de GetPublicFS().
*/
package public package public
import "embed" import "embed"

View file

@ -1,3 +1,3 @@
{{ define "general-html" }} {{ define "general-html" }}
<link rel="stylesheet" href="/static/general.css"> <link rel="stylesheet" href="/public/css/general.css">
{{ end }} {{ end }}

View file

@ -5,7 +5,7 @@
<meta charset="utf-8"> <meta charset="utf-8">
<title>AGECEM</title> <title>AGECEM</title>
{{ template "general-html" }} {{ template "general-html" }}
<link rel="stylesheet" href="static/index.css"> <link rel="stylesheet" href="/public/css/index.css">
</head> </head>
<body> <body>
{{ template "header-html" }} {{ template "header-html" }}

View file

@ -1,3 +1,11 @@
/*
Package templates contient les fichiers gohtml à templater par l'application.
Le contenu sera embedded dans le fichier binaire, dans le but de bundle les
dépendances avec l'application, simplifiant son déploiement.
Une copie du contenu peut être obtenue par un appel de GetTemplatesFS().
*/
package templates package templates
import "embed" import "embed"