I'm using Atom to develop my Go app. The Linter in Atom is reporting an odd warning, and I don't see how it's a problem. Should I forever ignore the warning, or is there an alternate method I can implement?
I have a routes like so, in a file "app.go":
a.Router.HandleFunc("/login", a.PageLogin)
a.Router.HandleFunc("/register", a.PageRegister)
a.Router.HandleFunc("/event/add", a.PageEventCreate)
In my "routes_pages.go" file, I have funcs defined like so:
func (a *App) PageEventCreate(w http.ResponseWriter, r *http.Request) {
switch r.Method {
case "GET":
// Serve the resource.
case "POST":
// Create a new record.
case "PUT":
// Update an existing record.
case "DELETE":
// Remove the record.
default:
// Give an error message.
}
}
func (a *App) PageLogin(res http.ResponseWriter, req *http.Request) {
switch r.Method {
case "GET":
// Serve the resource.
case "POST":
// Create a new record.
case "PUT":
// Update an existing record.
case "DELETE":
// Remove the record.
default:
// Give an error message.
}
}
I have a multitude of funcs setup this way. It makes it easy to work on any case (GET, POST, etc) in one place.
The Linter in Atom has a problem with this. It's reporting a warning for each item, for example:
Warning goconst 3 other occurrence(s) of "GET" found in: routes_pages.go:384:8 routes_pages.go:443:7 routes_pages.go:536:7 (goconst) 198:8
This warning occurs many times; once for every instance of switch/case with GET, PUT, DELETE, etc; a huge list.
I see no apparent way to 'ignore' the warning in Atom, so I feel like just disabling the linter, which is not great for more serious warnings...