github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/misc/logiciel.go (about) 1 // Définit les routes additionnelles 2 package misc 3 4 import ( 5 "path/filepath" 6 7 "github.com/benoitkugler/goACVE/server/logiciel" 8 "github.com/benoitkugler/goACVE/server/shared" 9 10 "github.com/benoitkugler/goACVE/logs" 11 "github.com/labstack/echo" 12 ) 13 14 // Ce fichier définit la route de téléchargement initial du 15 // client ACVE. 16 17 func HandleLogiciel(c echo.Context) error { 18 return pageLogiciel(c, false) 19 } 20 21 func pageLogiciel(c echo.Context, wrongPassword bool) error { 22 data := logiciel.NewOutLogiciel(wrongPassword) 23 return shared.HtmlWithPayload(c, "server/static/bv/logiciel.html", data) 24 } 25 26 func DownloadLogiciel(c echo.Context) error { 27 pass := c.FormValue("password") 28 if pass != logs.PasswordLogiciel { 29 return pageLogiciel(c, true) 30 } 31 32 path, err := logiciel.GetLogiciel(c.FormValue("platform")) 33 if err != nil { 34 return err 35 } 36 return c.Attachment(path, filepath.Base(path)) 37 }