4 ms·
func metrics(w http.ResponseWriter, r *http.Request) { } func AddV1Routes(r *mux.Router) { r.HandleFunc("/metrics/", metrics).Methods("GET") r.Han
by segmondy 7y ago
func metrics(w http.ResponseWriter, r *http.Request) {
}
func AddV1Routes(r *mux.Router) {
r.HandleFunc("/metrics/", metrics).Methods("GET")
r.HandleFunc("/v1func/", v1func).Methods("GET")
}
func AddV2Routes(r *mux.Router) {
r.HandleFunc("/metrics/", metrics).Methods("GET")
r.HandleFunc("/v2func/", v1func).Methods("GET")
}
r := mux.NewRouter()
AddV1Routes(r.PathPrefix("/api/v1").Subrouter())
AddV2Routes(r.PathPrefix("/api/v2").Subrouter())
handler := c.Handler(r)
http.ListenAndServe(":5000", handler
With a pattern like this, you can just decide which functions to group by version.
- dariusj18 7y agoOr, you could just deploy a copy of each version of the code using a reverse proxy.