aboutsummaryrefslogtreecommitdiff
path: root/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'server.go')
-rw-r--r--server.go17
1 files changed, 8 insertions, 9 deletions
diff --git a/server.go b/server.go
index f4b6e48..44392a0 100644
--- a/server.go
+++ b/server.go
@@ -15,7 +15,8 @@ const cookieName = "koushin_session"
const messagesPerPage = 50
type Server struct {
- sessions *SessionManager
+ Sessions *SessionManager
+ Plugins []Plugin
imap struct {
host string
@@ -28,8 +29,6 @@ type Server struct {
tls bool
insecure bool
}
-
- plugins []Plugin
}
func (s *Server) parseIMAPURL(imapURL string) error {
@@ -76,7 +75,7 @@ func (s *Server) parseSMTPURL(smtpURL string) error {
func newServer(imapURL, smtpURL string) (*Server, error) {
s := &Server{}
- s.sessions = newSessionManager(s.connectIMAP)
+ s.Sessions = newSessionManager(s.connectIMAP)
if err := s.parseIMAPURL(imapURL); err != nil {
return nil, err
@@ -134,12 +133,12 @@ func New(e *echo.Echo, options *Options) error {
return err
}
- s.plugins, err = loadAllLuaPlugins(e.Logger)
+ s.Plugins, err = loadAllLuaPlugins(e.Logger)
if err != nil {
return fmt.Errorf("failed to load plugins: %v", err)
}
- e.Renderer, err = loadTemplates(e.Logger, options.Theme, s.plugins)
+ e.Renderer, err = loadTemplates(e.Logger, options.Theme, s.Plugins)
if err != nil {
return fmt.Errorf("failed to load templates: %v", err)
}
@@ -172,14 +171,14 @@ func New(e *echo.Echo, options *Options) error {
return err
}
- ctx.Session, err = ctx.Server.sessions.Get(cookie.Value)
+ ctx.Session, err = ctx.Server.Sessions.get(cookie.Value)
if err == ErrSessionExpired {
ctx.SetSession(nil)
return ctx.Redirect(http.StatusFound, "/login")
} else if err != nil {
return err
}
- ctx.Session.Ping()
+ ctx.Session.ping()
return next(ctx)
}
@@ -210,7 +209,7 @@ func New(e *echo.Echo, options *Options) error {
e.Static("/assets", "public/assets")
e.Static("/themes", "public/themes")
- for _, p := range s.plugins {
+ for _, p := range s.Plugins {
p.SetRoutes(e.Group(""))
}