Implement the deletion/creation of failRegexes

This commit is contained in:
Sean DuBois 2014-06-21 02:48:40 +00:00
parent 5705bcd2ed
commit 25f4e02772

46
jail.go
View file

@ -18,7 +18,7 @@ func jailGetHandler(res http.ResponseWriter, req *http.Request, fail2goConn *fai
"currentlyBanned": currentlyBanned, "currentlyBanned": currentlyBanned,
"totalBanned": totalBanned, "totalBanned": totalBanned,
"IPList": IPList, "IPList": IPList,
"failregex": failRegexes}) "failRegexes": failRegexes})
if err != nil { if err != nil {
} }
@ -58,18 +58,58 @@ func jailUnbanIPHandler(res http.ResponseWriter, req *http.Request, fail2goConn
} }
res.Write(encodedOutput) res.Write(encodedOutput)
}
type jailFailRegexBody struct {
FailRegex string
}
func jailAddFailRegexHandler(res http.ResponseWriter, req *http.Request, fail2goConn *fail2go.Fail2goConn) {
var input jailFailRegexBody
err := json.NewDecoder(req.Body).Decode(&input)
if err != nil {
}
output, _ := fail2goConn.JailAddFailRegex(mux.Vars(req)["jail"], input.FailRegex)
encodedOutput, err := json.Marshal(map[string]interface{}{"FailRegex": output})
if err != nil {
}
res.Write(encodedOutput)
}
func jailDeleteFailRegexHandler(res http.ResponseWriter, req *http.Request, fail2goConn *fail2go.Fail2goConn) {
var input jailFailRegexBody
err := json.NewDecoder(req.Body).Decode(&input)
if err != nil {
}
output, _ := fail2goConn.JailDeleteFailRegex(mux.Vars(req)["jail"], input.FailRegex)
encodedOutput, err := json.Marshal(map[string]interface{}{"FailRegex": output})
if err != nil {
}
res.Write(encodedOutput)
} }
func jailHandler(jailRouter *mux.Router, fail2goConn *fail2go.Fail2goConn) { func jailHandler(jailRouter *mux.Router, fail2goConn *fail2go.Fail2goConn) {
jailRouter.HandleFunc("/{jail}/bannedips", func(res http.ResponseWriter, req *http.Request) { jailRouter.HandleFunc("/{jail}/bannedip", func(res http.ResponseWriter, req *http.Request) {
jailBanIPHandler(res, req, fail2goConn) jailBanIPHandler(res, req, fail2goConn)
}).Methods("POST") }).Methods("POST")
jailRouter.HandleFunc("/{jail}/bannedips", func(res http.ResponseWriter, req *http.Request) { jailRouter.HandleFunc("/{jail}/bannedip", func(res http.ResponseWriter, req *http.Request) {
jailUnbanIPHandler(res, req, fail2goConn) jailUnbanIPHandler(res, req, fail2goConn)
}).Methods("DELETE") }).Methods("DELETE")
jailRouter.HandleFunc("/{jail}/failregex", func(res http.ResponseWriter, req *http.Request) {
jailAddFailRegexHandler(res, req, fail2goConn)
}).Methods("POST")
jailRouter.HandleFunc("/{jail}/failregex", func(res http.ResponseWriter, req *http.Request) {
jailDeleteFailRegexHandler(res, req, fail2goConn)
}).Methods("DELETE")
jailRouter.HandleFunc("/{jail}", func(res http.ResponseWriter, req *http.Request) { jailRouter.HandleFunc("/{jail}", func(res http.ResponseWriter, req *http.Request) {
jailGetHandler(res, req, fail2goConn) jailGetHandler(res, req, fail2goConn)
}).Methods("GET") }).Methods("GET")