code: func httpServer() http.Handler {
  	r := mux.NewRouter()
  
  	// Ping Resource
  	r.HandleFunc(clients.ApiPingRoute, pingHandler).Methods(http.MethodGet)
  
  	// Configuration
  	r.HandleFunc(clients.ApiConfigRoute, configHandler).Methods(http.MethodGet)
  
  	// Metrics
  	r.HandleFunc(clients.ApiMetricsRoute, metricsHandler).Methods(http.MethodGet)
  
  	// Registration
  	r.HandleFunc(clients.ApiRegistrationRoute, getAllReg).Methods(http.MethodGet)
  	r.HandleFunc(clients.ApiRegistrationRoute, addReg).Methods(http.MethodPost)
  	r.HandleFunc(clients.ApiRegistrationRoute, updateReg).Methods(http.MethodPut)
  	reg := r.PathPrefix(clients.ApiRegistrationRoute).Subrouter()
  	reg.HandleFunc("/{id}", getRegByID).Methods(http.MethodGet)
  	reg.HandleFunc("/reference/{type}", getRegList).Methods(http.MethodGet)
  	reg.HandleFunc("/name/{name}", getRegByName).Methods(http.MethodGet)
  	reg.HandleFunc("/id/{id}", delRegByID).Methods(http.MethodDelete)
  	reg.HandleFunc("/name/{name}", delRegByName).Methods(http.MethodDelete)
  
  	r.Use(correlation.ManageHeader)
  	r.Use(correlation.OnResponseComplete)
  	r.Use(correlation.OnRequestBegin)
  
  	return r
  }
docs: // HTTPServer function