Пример #1
0
func newServer() (*server, error) {
	var s server
	s.data = make(map[string][]byte)
	s.fwd = make(map[string]chan<- readerDone)
	hs := http.Server{
		Addr:    ":0",
		Handler: http.HandlerFunc(s.httpHandler),
	}
	ln, err := net.Listen("tcp", ":0")
	if err != nil {
		return nil, err
	}
	var h httpdown.HTTP
	s.s = h.Serve(&hs, ln)
	s.port = ln.Addr().(*net.TCPAddr).Port
	return &s, nil
}