Add a way to extend the handlers and add custom stuff

This commit is contained in:
Jonathan Leibiusky @xetorthio
2017-09-22 10:00:44 -03:00
parent ff905a0993
commit 98735a5a93
2 changed files with 8 additions and 2 deletions

2
api.go
View File

@@ -42,7 +42,7 @@ func main() {
sch.Start()
handlers.Bootstrap(core, e)
handlers.Register()
handlers.Register(nil)
}
func initStorage() storage.StorageApi {

View File

@@ -25,12 +25,14 @@ var core pwd.PWDApi
var e event.EventApi
var ws *socketio.Server
type HandlerExtender func(h *mux.Router)
func Bootstrap(c pwd.PWDApi, ev event.EventApi) {
core = c
e = ev
}
func Register() {
func Register(extend HandlerExtender) {
bypassCaptcha := len(os.Getenv("GOOGLE_RECAPTCHA_DISABLED")) > 0
@@ -91,6 +93,10 @@ func Register() {
corsRouter.HandleFunc("/", NewSession).Methods("POST")
if extend != nil {
extend(corsRouter)
}
n := negroni.Classic()
r.PathPrefix("/").Handler(negroni.New(negroni.Wrap(corsHandler(corsRouter))))
n.UseHandler(r)