Browse Source

Reworked the template loading (fix #54)

dependabot/npm_and_yarn/web/prismjs-1.21.0
Max Schmitt 8 years ago
parent
commit
ac3845c11e
  1. 26
      handlers/handlers.go

26
handlers/handlers.go

@ -48,25 +48,31 @@ func New(store store.Store) (*Handler, error) {
return h, nil
}
func (h *Handler) setTemplateFromFS(name string) error {
tokenTemplate, err := tmpls.FSString(false, "/"+name)
func (h *Handler) addTemplatesFromFS(files []string) error {
var t *template.Template
for _, file := range files {
fileContent, err := tmpls.FSString(false, "/"+file)
if err != nil {
return errors.Wrap(err, "could not read token template file")
return errors.Wrap(err, "could not read template file")
}
templ, err := template.New(name).Parse(tokenTemplate)
if t == nil {
t, err = template.New(file).Parse(fileContent)
if err != nil {
return errors.Wrap(err, "could not create template from file content")
}
h.engine.SetHTMLTemplate(templ)
continue
}
if _, err := t.New(file).Parse(fileContent); err != nil {
return errors.Wrap(err, "could not parse template")
}
}
h.engine.SetHTMLTemplate(t)
return nil
}
func (h *Handler) setHandlers() error {
templates := []string{"token.html", "protected.html"}
for _, template := range templates {
if err := h.setTemplateFromFS(template); err != nil {
return errors.Wrapf(err, "could not set template %s from FS", template)
}
if err := h.addTemplatesFromFS([]string{"token.html", "protected.html"}); err != nil {
return errors.Wrap(err, "could not add templates from FS")
}
h.engine.Use(ginrus.Ginrus(logrus.StandardLogger(), time.RFC3339, false))
protected := h.engine.Group("/api/v1/protected")

Loading…
Cancel
Save