summaryrefslogtreecommitdiff
path: root/internal/router
diff options
context:
space:
mode:
Diffstat (limited to 'internal/router')
-rw-r--r--internal/router/router.go2
-rw-r--r--internal/router/session.go6
-rw-r--r--internal/router/template.go11
3 files changed, 12 insertions, 7 deletions
diff --git a/internal/router/router.go b/internal/router/router.go
index 88d900a9e..f1247d274 100644
--- a/internal/router/router.go
+++ b/internal/router/router.go
@@ -138,7 +138,7 @@ func New(ctx context.Context, db db.DB) (Router, error) {
}
// set template functions
- loadTemplateFunctions(engine)
+ LoadTemplateFunctions(engine)
// load templates onto the engine
if err := loadTemplates(engine); err != nil {
diff --git a/internal/router/session.go b/internal/router/session.go
index 2127d70a7..066024601 100644
--- a/internal/router/session.go
+++ b/internal/router/session.go
@@ -33,8 +33,8 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/db"
)
-// sessionOptions returns the standard set of options to use for each session.
-func sessionOptions() sessions.Options {
+// SessionOptions returns the standard set of options to use for each session.
+func SessionOptions() sessions.Options {
return sessions.Options{
Path: "/",
Domain: viper.GetString(config.Keys.Host),
@@ -75,7 +75,7 @@ func useSession(ctx context.Context, sessionDB db.Session, engine *gin.Engine) e
}
store := memstore.NewStore(rs.Auth, rs.Crypt)
- store.Options(sessionOptions())
+ store.Options(SessionOptions())
sessionName, err := SessionName()
if err != nil {
diff --git a/internal/router/template.go b/internal/router/template.go
index 4cc9fde1d..1a0186d6d 100644
--- a/internal/router/template.go
+++ b/internal/router/template.go
@@ -31,7 +31,7 @@ import (
"github.com/superseriousbusiness/gotosocial/internal/config"
)
-// loadTemplates loads html templates for use by the given engine
+// LoadTemplates loads html templates for use by the given engine
func loadTemplates(engine *gin.Engine) error {
cwd, err := os.Getwd()
if err != nil {
@@ -39,8 +39,13 @@ func loadTemplates(engine *gin.Engine) error {
}
templateBaseDir := viper.GetString(config.Keys.WebTemplateBaseDir)
- tmPath := filepath.Join(cwd, fmt.Sprintf("%s*", templateBaseDir))
+ _, err = os.Stat(filepath.Join(cwd, templateBaseDir, "index.tmpl"))
+ if err != nil {
+ return fmt.Errorf("%s doesn't seem to contain the templates; index.tmpl is missing: %s", filepath.Join(cwd, templateBaseDir), err)
+ }
+
+ tmPath := filepath.Join(cwd, fmt.Sprintf("%s*", templateBaseDir))
engine.LoadHTMLGlob(tmPath)
return nil
}
@@ -87,7 +92,7 @@ func visibilityIcon(visibility model.Visibility) template.HTML {
return template.HTML(fmt.Sprintf(`<i aria-label="Visibility: %v" class="fa fa-%v"></i>`, icon.label, icon.faIcon))
}
-func loadTemplateFunctions(engine *gin.Engine) {
+func LoadTemplateFunctions(engine *gin.Engine) {
engine.SetFuncMap(template.FuncMap{
"noescape": noescape,
"oddOrEven": oddOrEven,