mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-11-29 22:08:10 +02:00
web: log an error if loading a required template fails
We used template.Must that panics if an error happen but the error is visible only if sftpgo is started in an interactive way Fixes #82
This commit is contained in:
@@ -98,10 +98,10 @@ func loadTemplates(templatesPath string) {
|
|||||||
filepath.Join(templatesPath, templateBase),
|
filepath.Join(templatesPath, templateBase),
|
||||||
filepath.Join(templatesPath, templateMessage),
|
filepath.Join(templatesPath, templateMessage),
|
||||||
}
|
}
|
||||||
usersTmpl := template.Must(template.ParseFiles(usersPaths...))
|
usersTmpl := utils.LoadTemplate(template.ParseFiles(usersPaths...))
|
||||||
userTmpl := template.Must(template.ParseFiles(userPaths...))
|
userTmpl := utils.LoadTemplate(template.ParseFiles(userPaths...))
|
||||||
connectionsTmpl := template.Must(template.ParseFiles(connectionsPaths...))
|
connectionsTmpl := utils.LoadTemplate(template.ParseFiles(connectionsPaths...))
|
||||||
messageTmpl := template.Must(template.ParseFiles(messagePath...))
|
messageTmpl := utils.LoadTemplate(template.ParseFiles(messagePath...))
|
||||||
|
|
||||||
templates[templateUsers] = usersTmpl
|
templates[templateUsers] = usersTmpl
|
||||||
templates[templateUser] = userTmpl
|
templates[templateUser] = userTmpl
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import (
|
|||||||
"encoding/pem"
|
"encoding/pem"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"html/template"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net"
|
"net"
|
||||||
@@ -22,6 +23,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/drakkan/sftpgo/logger"
|
||||||
"golang.org/x/crypto/ssh"
|
"golang.org/x/crypto/ssh"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -275,3 +277,14 @@ func CleanSFTPPath(p string) string {
|
|||||||
}
|
}
|
||||||
return path.Clean(sftpPath)
|
return path.Clean(sftpPath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LoadTemplate wraps a call to a function returning (*Template, error)
|
||||||
|
// it is just like template.Must but it writes a log before exiting
|
||||||
|
func LoadTemplate(t *template.Template, err error) *template.Template {
|
||||||
|
if err != nil {
|
||||||
|
logger.ErrorToConsole("error loading required template: %v", err)
|
||||||
|
logger.Error(logSender, "", "error loading required template: %v", err)
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
return t
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user