func()

in proxy/protocol/grpc/server.go [156:183]


func (hs *httpServer) listenAndServe(addr string, t *tls.Config, h http.HandlerFunc) error {

	ln, err := net.Listen("tcp", addr)
	if err != nil {
		return err
	}
	if t != nil {
		lnTLS := tls.NewListener(ln, t)
		ln = lnTLS
	}
	mux := http.NewServeMux()
	mux.HandleFunc("/", h)
	hs.server = &http2.Server{}
	opts := &http2.ServeConnOpts{
		Handler: mux,
	}

	go func() {
		for {
			conn, err := ln.Accept()
			if err != nil {
				panic(err)
			}
			hs.server.ServeConn(conn, opts)
		}
	}()
	return nil
}