github.com/rsampaio/docker@v0.7.2-0.20150827203920-fdc73cc3fc31/api/server/server_windows.go (about) 1 // +build windows 2 3 package server 4 5 import ( 6 "errors" 7 "net" 8 "net/http" 9 10 "github.com/docker/docker/daemon" 11 ) 12 13 // NewServer sets up the required Server and does protocol specific checking. 14 func (s *Server) newServer(proto, addr string) ([]serverCloser, error) { 15 var ( 16 ls []net.Listener 17 ) 18 switch proto { 19 case "tcp": 20 l, err := s.initTCPSocket(addr) 21 if err != nil { 22 return nil, err 23 } 24 ls = append(ls, l) 25 26 default: 27 return nil, errors.New("Invalid protocol format. Windows only supports tcp.") 28 } 29 30 var res []serverCloser 31 for _, l := range ls { 32 res = append(res, &HTTPServer{ 33 &http.Server{ 34 Addr: addr, 35 Handler: s.router, 36 }, 37 l, 38 }) 39 } 40 return res, nil 41 42 } 43 44 // AcceptConnections allows router to start listening for the incoming requests. 45 func (s *Server) AcceptConnections(d *daemon.Daemon) { 46 s.daemon = d 47 s.registerSubRouter() 48 // close the lock so the listeners start accepting connections 49 select { 50 case <-s.start: 51 default: 52 close(s.start) 53 } 54 } 55 56 func allocateDaemonPort(addr string) error { 57 return nil 58 } 59 60 // getContainersByNameDownlevel performs processing for pre 1.20 APIs. This 61 // is only relevant on non-Windows daemons. 62 func getContainersByNameDownlevel(w http.ResponseWriter, s *Server, namevar string) error { 63 return nil 64 }