func ConfigureServer()

in mux.go [70:88]


func ConfigureServer(srv *http.Server, conf *http2.Server) (grpcListener net.Listener, _ error) {
	if err := http2.ConfigureServer(srv, conf); err != nil {
		return nil, err
	}
	if conf == nil {
		conf = new(http2.Server)
	}
	glis := newChanListener()
	mux := &mux{http2Server: conf, grpcListener: glis}
	srv.Handler = mux.withGRPCInsecure(srv.Handler, srv.ErrorLog)
	srv.TLSNextProto[http2.NextProtoTLS] = func(srv *http.Server, conn *tls.Conn, h http.Handler) {
		err := mux.handleH2(srv, conn, h)
		if err != nil && srv.ErrorLog != nil {
			srv.ErrorLog.Printf("handleH2 (%s) returned an error: %s", conn.RemoteAddr(), err)
		}
	}
	srv.RegisterOnShutdown(func() { glis.Close() })
	return glis, nil
}