some changes

master
serr 2025-03-26 15:20:43 +03:00
parent ef3f8fb2c0
commit 36a0e9cdc3
1 changed files with 17 additions and 16 deletions

33
main.go
View File

@ -52,40 +52,34 @@ func setupRoutes(tmpls *template.Template) {
{
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var pageData []byte
var err error
var context any
tmplName := "main.html"
context = map[string]any{
context := map[string]any{
"timestamp": startTime,
}
pageData, err = renderPage(tmpls, tmplName, context)
// Возникла какая-то ошибка
if err != nil {
if pageData, err := renderPage(tmpls, tmplName, context); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
} else {
sendPage(w, pageData)
}
// Отправка страницы
sendPage(w, pageData)
})
}
}
// Загрузка шаблонов, создание хранилища шаблонов
func loadTemplates(templatesPath string, ext string) (*template.Template, error) {
func loadTemplates(
templatesPath string,
ext string) (*template.Template, error) {
tmpls := template.New("")
err := filepath.Walk(
templatesPath, func(path string, f os.FileInfo, err error) error {
if err != nil {
return err
}
if !f.IsDir() && strings.HasSuffix(f.Name(), ext) {
_, err = tmpls.ParseFiles(path)
if err != nil {
@ -103,7 +97,11 @@ func loadTemplates(templatesPath string, ext string) (*template.Template, error)
}
// Рендерит шаблон в срез байт
func renderPage(tmpl *template.Template, tmplName string, context any) ([]byte, error) {
func renderPage(
tmpl *template.Template,
tmplName string,
context any) ([]byte, error) {
var pageData bytes.Buffer
if err := tmpl.ExecuteTemplate(&pageData, tmplName, context); err != nil {
@ -114,7 +112,10 @@ func renderPage(tmpl *template.Template, tmplName string, context any) ([]byte,
}
// Отправляет страницу
func sendPage(w http.ResponseWriter, data []byte) {
func sendPage(
w http.ResponseWriter,
data []byte) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
w.WriteHeader(http.StatusOK)
w.Write(data)