| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package inout
- import (
- "bytes"
- "fmt"
- "net/http"
- "os"
- "text/template"
- )
- func getFuncMap() template.FuncMap {
- funcMap := template.FuncMap{
- "showFile": showFile,
- "genSeriesInt": genSeriesInt,
- }
- return funcMap
- }
- func genSeriesInt(start, stop int64) []int64 {
- values := make([]int64, 0)
- for i := start; i <= stop; i++ {
- values = append(values, i)
- }
- return values
- }
- func showFile(tmpl string) string {
- data, err := os.ReadFile(tmpl)
- if err != nil {
- return fmt.Sprintf("%+v", err)
- }
- return string(data)
- }
- func ParseTemplate(file string, input any) ([]byte, int) {
- var buff bytes.Buffer
- b, err := os.ReadFile(file)
- if err != nil {
- return fmt.Appendf(nil, "%+v", err), http.StatusInternalServerError
- }
- tmpl, err := template.New("parse").Funcs(getFuncMap()).Parse(string(b))
- if err != nil {
- return fmt.Appendf(nil, "%+v", err), http.StatusInternalServerError
- }
- err = tmpl.Execute(&buff, input)
- if err != nil {
- return fmt.Appendf(nil, "%+v", err), http.StatusInternalServerError
- }
- return buff.Bytes(), http.StatusOK
- }
|