initial commit
This commit is contained in:
56
renderer.go
Normal file
56
renderer.go
Normal file
@@ -0,0 +1,56 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"html/template"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type AdminPageParams struct {
|
||||
Hosts map[string]string
|
||||
Email string
|
||||
Profile string
|
||||
Alerts []Alert
|
||||
IpAddresses map[string][]string
|
||||
|
||||
}
|
||||
|
||||
type Alert struct {
|
||||
Type string
|
||||
Message string
|
||||
}
|
||||
|
||||
type Renderer struct {
|
||||
_template *template.Template
|
||||
|
||||
}
|
||||
|
||||
|
||||
func (r *Renderer) RenderAdminPage(w http.ResponseWriter, params *AdminPageParams) {
|
||||
r.renderPage(w, "adminpage.html", params)
|
||||
}
|
||||
|
||||
func (r *Renderer) renderPage(w http.ResponseWriter, templateName string, params interface{}) {
|
||||
err := r._template.ExecuteTemplate(w,templateName, params)
|
||||
if err != nil {
|
||||
text := "error in rendering template " + templateName + "\n" + err.Error()
|
||||
http.Error(w, text , http.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
func CreateRenderer(config *Config) (*Renderer, error) {
|
||||
|
||||
renderer := new(Renderer)
|
||||
var err error
|
||||
|
||||
renderer._template, err = template.ParseGlob("resources/templates/*")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return renderer, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user