mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #39868 from dmcgowan/remove-dead-swaprouter
Remove dead code from api server for router swapping
This commit is contained in:
commit
fdf7f4d4ea
2 changed files with 5 additions and 41 deletions
|
@ -1,30 +0,0 @@
|
||||||
package server // import "github.com/docker/docker/api/server"
|
|
||||||
|
|
||||||
import (
|
|
||||||
"net/http"
|
|
||||||
"sync"
|
|
||||||
|
|
||||||
"github.com/gorilla/mux"
|
|
||||||
)
|
|
||||||
|
|
||||||
// routerSwapper is an http.Handler that allows you to swap
|
|
||||||
// mux routers.
|
|
||||||
type routerSwapper struct {
|
|
||||||
mu sync.Mutex
|
|
||||||
router *mux.Router
|
|
||||||
}
|
|
||||||
|
|
||||||
// Swap changes the old router with the new one.
|
|
||||||
func (rs *routerSwapper) Swap(newRouter *mux.Router) {
|
|
||||||
rs.mu.Lock()
|
|
||||||
rs.router = newRouter
|
|
||||||
rs.mu.Unlock()
|
|
||||||
}
|
|
||||||
|
|
||||||
// ServeHTTP makes the routerSwapper to implement the http.Handler interface.
|
|
||||||
func (rs *routerSwapper) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|
||||||
rs.mu.Lock()
|
|
||||||
router := rs.router
|
|
||||||
rs.mu.Unlock()
|
|
||||||
router.ServeHTTP(w, r)
|
|
||||||
}
|
|
|
@ -35,7 +35,6 @@ type Server struct {
|
||||||
cfg *Config
|
cfg *Config
|
||||||
servers []*HTTPServer
|
servers []*HTTPServer
|
||||||
routers []router.Router
|
routers []router.Router
|
||||||
routerSwapper *routerSwapper
|
|
||||||
middlewares []middleware.Middleware
|
middlewares []middleware.Middleware
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +79,7 @@ func (s *Server) Close() {
|
||||||
func (s *Server) serveAPI() error {
|
func (s *Server) serveAPI() error {
|
||||||
var chErrors = make(chan error, len(s.servers))
|
var chErrors = make(chan error, len(s.servers))
|
||||||
for _, srv := range s.servers {
|
for _, srv := range s.servers {
|
||||||
srv.srv.Handler = s.routerSwapper
|
srv.srv.Handler = s.createMux()
|
||||||
go func(srv *HTTPServer) {
|
go func(srv *HTTPServer) {
|
||||||
var err error
|
var err error
|
||||||
logrus.Infof("API listen on %s", srv.l.Addr())
|
logrus.Infof("API listen on %s", srv.l.Addr())
|
||||||
|
@ -153,11 +152,6 @@ func (s *Server) makeHTTPHandler(handler httputils.APIFunc) http.HandlerFunc {
|
||||||
// This method also enables the Go profiler.
|
// This method also enables the Go profiler.
|
||||||
func (s *Server) InitRouter(routers ...router.Router) {
|
func (s *Server) InitRouter(routers ...router.Router) {
|
||||||
s.routers = append(s.routers, routers...)
|
s.routers = append(s.routers, routers...)
|
||||||
|
|
||||||
m := s.createMux()
|
|
||||||
s.routerSwapper = &routerSwapper{
|
|
||||||
router: m,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type pageNotFoundError struct{}
|
type pageNotFoundError struct{}
|
||||||
|
|
Loading…
Add table
Reference in a new issue