Update custom API

This commit is contained in:
Svilen Markov 2025-02-02 13:02:46 +00:00
parent d400b27545
commit 61fd5481cc

View file

@ -100,7 +100,7 @@ func fetchAndParseCustomAPI(req *http.Request, tmpl *template.Template) (templat
var templateBuffer bytes.Buffer
data := CustomAPITemplateData{
data := customAPITemplateData{
JSON: decoratedGJSONResult{gjson.Parse(body)},
Response: resp,
}
@ -117,7 +117,7 @@ type decoratedGJSONResult struct {
gjson.Result
}
type CustomAPITemplateData struct {
type customAPITemplateData struct {
JSON decoratedGJSONResult
Response *http.Response
}
@ -180,28 +180,28 @@ var customAPITemplateFuncs = func() template.FuncMap {
"toInt": func(a float64) int64 {
return int64(a)
},
"mathexpr": func(left float64, op string, right float64) float64 {
if right == 0 {
"add": func(a, b float64) float64 {
return a + b
},
"sub": func(a, b float64) float64 {
return a - b
},
"mul": func(a, b float64) float64 {
return a * b
},
"div": func(a, b float64) float64 {
if b == 0 {
return 0
}
switch op {
case "+":
return left + right
case "-":
return left - right
case "*":
return left * right
case "/":
return left / right
default:
return 0
}
return a / b
},
}
for key, value := range globalTemplateFunctions {
funcs[key] = value
if _, exists := funcs[key]; !exists {
funcs[key] = value
}
}
return funcs