completed the Scan() error handling
This commit is contained in:
+14
-9
@@ -14,6 +14,7 @@ import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"maps"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
"strconv"
|
||||
@@ -304,8 +305,8 @@ func (c *amContext) SaveSession() error {
|
||||
* Parameters:
|
||||
* name = The name of the template to be rendered.
|
||||
* Returns:
|
||||
* Byte array with the rendered data to be output
|
||||
* Standard Go error status
|
||||
* Byte array with the rendered data to be output.
|
||||
* Standard Go error status.
|
||||
*/
|
||||
func (c *amContext) SubRender(name string) ([]byte, error) {
|
||||
view, err := views.GetTemplate(name)
|
||||
@@ -314,13 +315,20 @@ func (c *amContext) SubRender(name string) ([]byte, error) {
|
||||
return nil, err
|
||||
}
|
||||
buf := new(bytes.Buffer)
|
||||
err = view.Execute(buf, c.VarMap(), c)
|
||||
if err != nil {
|
||||
if err = view.Execute(buf, c.VarMap(), c); err != nil {
|
||||
log.Errorf("template \"%s\" failed subrender exec: %v", name, err)
|
||||
}
|
||||
return buf.Bytes(), err
|
||||
}
|
||||
|
||||
/* SubRender2 renders a subtemplate to the output, with extra variables to be set.
|
||||
* Parameters:
|
||||
* name = The name of the template to be rendered.
|
||||
* vals = Additional variable values to be set.
|
||||
* Returns:
|
||||
* Byte array with the rendered data to be output.
|
||||
* Standard Go error status.
|
||||
*/
|
||||
func (c *amContext) SubRender2(name string, vals map[string]any) ([]byte, error) {
|
||||
view, err := views.GetTemplate(name)
|
||||
if err != nil {
|
||||
@@ -328,15 +336,12 @@ func (c *amContext) SubRender2(name string, vals map[string]any) ([]byte, error)
|
||||
return nil, err
|
||||
}
|
||||
newmap := make(jet.VarMap)
|
||||
for k, v := range c.VarMap() {
|
||||
newmap.Set(k, v)
|
||||
}
|
||||
maps.Copy(newmap, c.VarMap())
|
||||
for k, v := range vals {
|
||||
newmap.Set(k, v)
|
||||
}
|
||||
buf := new(bytes.Buffer)
|
||||
err = view.Execute(buf, newmap, c)
|
||||
if err != nil {
|
||||
if err = view.Execute(buf, newmap, c); err != nil {
|
||||
log.Errorf("template \"%s\" failed subrender exec: %v", name, err)
|
||||
}
|
||||
return buf.Bytes(), err
|
||||
|
||||
Reference in New Issue
Block a user