diff --git a/main.go b/main.go index 161b261..6c738f2 100644 --- a/main.go +++ b/main.go @@ -410,23 +410,30 @@ func main() { fs := http.FileServer(http.Dir("static")) http.Handle(config.ThreadrDir+"/static/", http.StripPrefix(config.ThreadrDir+"/static/", fs)) - http.HandleFunc(config.ThreadrDir+"/", app.SessionMW(handlers.HomeHandler(app))) - http.HandleFunc(config.ThreadrDir+"/login/", app.SessionMW(handlers.LoginHandler(app))) - http.HandleFunc(config.ThreadrDir+"/logout/", app.SessionMW(handlers.LogoutHandler(app))) - http.HandleFunc(config.ThreadrDir+"/userhome/", app.SessionMW(app.RequireLoginMW(handlers.UserHomeHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/boards/", app.SessionMW(handlers.BoardsHandler(app))) - http.HandleFunc(config.ThreadrDir+"/board/", app.SessionMW(handlers.BoardHandler(app))) - http.HandleFunc(config.ThreadrDir+"/thread/", app.SessionMW(handlers.ThreadHandler(app))) - http.HandleFunc(config.ThreadrDir+"/about/", app.SessionMW(handlers.AboutHandler(app))) - http.HandleFunc(config.ThreadrDir+"/profile/", app.SessionMW(app.RequireLoginMW(handlers.ProfileHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/profile/edit/", app.SessionMW(app.RequireLoginMW(handlers.ProfileEditHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/preferences/", app.SessionMW(app.RequireLoginMW(handlers.PreferencesHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/like/", app.SessionMW(app.RequireLoginMW(handlers.LikeHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/news/", app.SessionMW(handlers.NewsHandler(app))) - http.HandleFunc(config.ThreadrDir+"/signup/", app.SessionMW(handlers.SignupHandler(app))) - http.HandleFunc(config.ThreadrDir+"/accept_cookie/", app.SessionMW(handlers.AcceptCookieHandler(app))) - http.HandleFunc(config.ThreadrDir+"/chat/", app.SessionMW(app.RequireLoginMW(handlers.ChatHandler(app)))) - http.HandleFunc(config.ThreadrDir+"/file", app.SessionMW(handlers.FileHandler(app))) + handle := func(path string, handler http.HandlerFunc) { + http.HandleFunc(config.ThreadrDir+path, app.SessionMW(handler)) + } + handleAuthed := func(path string, handler http.HandlerFunc) { + http.HandleFunc(config.ThreadrDir+path, app.SessionMW(app.RequireLoginMW(handler))) + } + + handle("/", handlers.HomeHandler(app)) + handle("/login/", handlers.LoginHandler(app)) + handle("/logout/", handlers.LogoutHandler(app)) + handleAuthed("/userhome/", handlers.UserHomeHandler(app)) + handle("/boards/", handlers.BoardsHandler(app)) + handle("/board/", handlers.BoardHandler(app)) + handle("/thread/", handlers.ThreadHandler(app)) + handle("/about/", handlers.AboutHandler(app)) + handleAuthed("/profile/", handlers.ProfileHandler(app)) + handleAuthed("/profile/edit/", handlers.ProfileEditHandler(app)) + handleAuthed("/preferences/", handlers.PreferencesHandler(app)) + handleAuthed("/like/", handlers.LikeHandler(app)) + handle("/news/", handlers.NewsHandler(app)) + handle("/signup/", handlers.SignupHandler(app)) + handle("/accept_cookie/", handlers.AcceptCookieHandler(app)) + handleAuthed("/chat/", handlers.ChatHandler(app)) + handle("/file", handlers.FileHandler(app)) log.Println("Server starting on :8080") log.Fatal(http.ListenAndServe(":8080", nil))