122 lines
1.7 KiB
Go
122 lines
1.7 KiB
Go
// Copyright (C) 2018 Marius Schellenberger
|
|
|
|
package server
|
|
|
|
type route struct {
|
|
Path string
|
|
Handler ctxHandler
|
|
Methods []string
|
|
}
|
|
|
|
var routes = []route{
|
|
{
|
|
"/",
|
|
indexHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/bootstrap.css",
|
|
staticHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/custom.css",
|
|
staticHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/login",
|
|
loginHandler,
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/search",
|
|
searchHandler,
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/new",
|
|
authHandler(
|
|
pageNewHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/all",
|
|
allHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/user",
|
|
adminAuthHandler(
|
|
userHandler),
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/user/new",
|
|
adminAuthHandler(
|
|
userNewHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/user/del/{user:[a-zA-Z0-9]+$}",
|
|
adminAuthHandler(
|
|
userDelHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/user/unlock/{user:[a-zA-Z0-9]+$}",
|
|
adminAuthHandler(
|
|
userUnlockHandler),
|
|
[]string{"POST"},
|
|
},
|
|
{
|
|
"/user/edit/{user:[a-zA-Z0-9]+$}",
|
|
userAuthHandler(
|
|
userEditHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/logout",
|
|
logoutHandler,
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/view/{key}",
|
|
pageHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/view/{key}/md",
|
|
pageMDHandler(
|
|
pageHandler),
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/{section}/{title}",
|
|
pageHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/{section}/{title}/md",
|
|
pageMDHandler(
|
|
pageHandler),
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/{section}/{title}/share",
|
|
pageShareHandler,
|
|
[]string{"GET"},
|
|
},
|
|
{
|
|
"/{section}/{title}/edit",
|
|
authHandler(
|
|
pageEditHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
{
|
|
"/{section}/{title}/del",
|
|
authHandler(
|
|
pageDelHandler),
|
|
[]string{"GET", "POST"},
|
|
},
|
|
}
|