From eda3f9d57cbfd473bd3222367a5a722776864477 Mon Sep 17 00:00:00 2001 From: Sean DuBois Date: Sat, 22 Nov 2014 05:02:08 +0000 Subject: [PATCH] Implement jailActionHandler at jail/{jail}/action/{action} this will be used to list properties for an jail action --- jail.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jail.go b/jail.go index 8a8b3a3..0312db2 100644 --- a/jail.go +++ b/jail.go @@ -203,6 +203,18 @@ func jailSetMaxRetryHandler(res http.ResponseWriter, req *http.Request, fail2goC res.Write(encodedOutput) } +func jailActionHandler(res http.ResponseWriter, req *http.Request, fail2goConn *fail2go.Conn) { + port, err := fail2goConn.JailActionProperty(mux.Vars(req)["jail"], mux.Vars(req)["action"], "port") + if err != nil { + writeHTTPError(res, err) + return + } + + encodedOutput, _ := json.Marshal(map[string]interface{}{ + "port": port}) + res.Write(encodedOutput) +} + func jailHandler(jailRouter *mux.Router, fail2goConn *fail2go.Conn) { jailRouter.HandleFunc("/{jail}/bannedip", func(res http.ResponseWriter, req *http.Request) { @@ -235,6 +247,10 @@ func jailHandler(jailRouter *mux.Router, fail2goConn *fail2go.Conn) { jailSetMaxRetryHandler(res, req, fail2goConn) }).Methods("POST") + jailRouter.HandleFunc("/{jail}/action/{action}", func(res http.ResponseWriter, req *http.Request) { + jailActionHandler(res, req, fail2goConn) + }).Methods("GET") + jailRouter.HandleFunc("/{jail}", func(res http.ResponseWriter, req *http.Request) { jailGetHandler(res, req, fail2goConn) }).Methods("GET")