package webserver
import (
"html/template"
"io"
"net"
"os"
"syscall"
)
func FileExists(filePath string) bool {
info, err := os.Stat(filePath)
return err == nil && !info.IsDir()
}
func createTemplate(filename string, funcMap template.FuncMap) (*template.Template, error) {
// Open file
src, err := assets.Open(filename)
if err != nil {
return nil, err
}
defer src.Close()
// Read file content
srcContent, err := io.ReadAll(src)
if err != nil {
return nil, err
}
// Create template
return template.New(filename).Delims("$$", "$$").Funcs(funcMap).Parse(string(srcContent))
}
func checkError(err error) {
if err == nil {
return
}
// Check for a broken connection, as it is not really a
// condition that warrants a panic stack trace.
if ne, ok := err.(*net.OpError); ok {
if se, ok := ne.Err.(*os.SyscallError); ok {
if se.Err == syscall.EPIPE || se.Err == syscall.ECONNRESET {
return
}
}
}
panic(err)
}