// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT. /* * OpenAPI Petstore * * This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. * * API version: 1.0.0 */ package petstoreserver import ( "net/http" "github.com/gorilla/mux" ) // A Route defines the parameters for an api endpoint type Route struct { Method string Pattern string HandlerFunc http.HandlerFunc } // Routes is a map of defined api endpoints type Routes map[string]Route // Router defines the required methods for retrieving api routes type Router interface { Routes() Routes } // NewRouter creates a new router for any number of api routers func NewRouter(routers ...Router) *mux.Router { router := mux.NewRouter().StrictSlash(true) for _, api := range routers { for name, route := range api.Routes() { var handler http.Handler = route.HandlerFunc handler = Logger(handler, name) router. Methods(route.Method). Path(route.Pattern). Name(name). Handler(handler) } } return router }