gs.ServeHTTP is required for services that send gRPC and HTTP requests over the same connection such as cloud run. https://ahmet.im/blog/grpc-http-mux-go/ . However, there is an overhead. Brink back https://github.com/soheilhy/cmux as an server option.