Why exactly do Resource's methods take variadic argument?
In what scenario can there be more than one?
Also, small remarks about code: You define type HandleFunc in your package which is identical to http.HandlerFunc. Looks like it can be removed. Some error logging (rw.Write, json.Marshal) would be useful as well.