major changes
This commit is contained in:
parent
a3270f399d
commit
2b56832843
83 changed files with 7760 additions and 1244 deletions
124
routes.go
124
routes.go
|
|
@ -2,134 +2,126 @@
|
|||
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
||||
type route struct {
|
||||
Path string
|
||||
Handler http.HandlerFunc
|
||||
Handler ctxHandler
|
||||
Methods []string
|
||||
}
|
||||
|
||||
func buildRoutes() http.Handler {
|
||||
m := mux.NewRouter()
|
||||
m.NotFoundHandler = notFoundHandler{}
|
||||
for _, v := range routes {
|
||||
m.HandleFunc(v.Path, v.Handler).Methods(v.Methods...)
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
var routes = []route{
|
||||
{
|
||||
"/",
|
||||
contextWrapper(
|
||||
indexHandler),
|
||||
indexHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/bootstrap.css",
|
||||
contextWrapper(
|
||||
staticHandler),
|
||||
staticHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/custom.css",
|
||||
contextWrapper(
|
||||
staticHandler),
|
||||
staticHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/login",
|
||||
contextWrapper(
|
||||
loginHandler),
|
||||
loginHandler,
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/search",
|
||||
contextWrapper(
|
||||
searchHandler),
|
||||
searchHandler,
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/new",
|
||||
contextWrapper(
|
||||
authHandler(
|
||||
wikiNewHandler),
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/all",
|
||||
contextWrapper(
|
||||
allHandler),
|
||||
allHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/wiki/{title:[a-zA-Z0-9+]+$}",
|
||||
contextWrapper(
|
||||
"/wiki/{title:[a-zA-Z0-9+-]+$}",
|
||||
wikiHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/wiki/{title:[a-zA-Z0-9+-]+}/md",
|
||||
wikiMDHandler(
|
||||
wikiHandler),
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/wiki/{title:[a-zA-Z0-9+]+}/md",
|
||||
contextWrapper(
|
||||
wikiMDHandler(
|
||||
wikiHandler)),
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/wiki/{title:[a-zA-Z0-9+]+}/edit",
|
||||
contextWrapper(
|
||||
"/wiki/{title:[a-zA-Z0-9+-]+}/edit",
|
||||
authHandler(
|
||||
wikiEditHandler),
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/wiki/{title:[a-zA-Z0-9+]+}/del",
|
||||
contextWrapper(
|
||||
"/wiki/{title:[a-zA-Z0-9+-]+}/del",
|
||||
authHandler(
|
||||
wikiDelHandler),
|
||||
[]string{"POST"},
|
||||
},
|
||||
{
|
||||
"/users",
|
||||
contextWrapper(
|
||||
adminAuthHandler(
|
||||
usersHandler)),
|
||||
adminAuthHandler(
|
||||
usersHandler),
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/user/new",
|
||||
contextWrapper(
|
||||
adminAuthHandler(
|
||||
userNewHandler)),
|
||||
"/users/{user:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+$}",
|
||||
wikiHandler,
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/users/{user:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/md",
|
||||
wikiMDHandler(
|
||||
wikiHandler),
|
||||
[]string{"GET"},
|
||||
},
|
||||
{
|
||||
"/users/{user:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/edit",
|
||||
wikiEditHandler,
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/user/del/{user:[a-z]+$}",
|
||||
contextWrapper(
|
||||
adminAuthHandler(
|
||||
userDelHandler)),
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
{
|
||||
"/user/unlock/{user:[a-z]+$}",
|
||||
contextWrapper(
|
||||
adminAuthHandler(
|
||||
userUnlockHandler)),
|
||||
"/users/{user:[a-zA-Z0-9]+}/{title:[a-zA-Z0-9+-]+}/del",
|
||||
wikiDelHandler,
|
||||
[]string{"POST"},
|
||||
},
|
||||
{
|
||||
"/user/edit/{user:[a-z]+$}",
|
||||
contextWrapper(
|
||||
userAuthHandler(
|
||||
userEditHandler)),
|
||||
"/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",
|
||||
contextWrapper(
|
||||
logoutHandler),
|
||||
logoutHandler,
|
||||
[]string{"GET", "POST"},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue